aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladimir Kondratyev <wulf@FreeBSD.org>2024-06-06 20:42:07 +0000
committerVladimir Kondratyev <wulf@FreeBSD.org>2024-06-06 20:42:07 +0000
commitafc450fac9f04f11cd916916ac28ffc52a973e1e (patch)
tree84abdb75ed9556b0b2a8258af3bc5e3733c406d1
parent588064e658d32f037854dd852b988728197a28de (diff)
LinuxKPI: Add abs_diff to linux/math.h
It returns absolute value of the difference between the arguments. Add LinuxKPI version check as the macro was moved from drm-kmod to linux/math.h in Linux kernel commit 46f12960aad (6.6 timeframe). Sponsored by: Serenity Cyber Security, LLC MFC after: 1 week Reviewed by: bz, emaste Differential Revision: https://reviews.freebsd.org/D45453
-rw-r--r--sys/compat/linuxkpi/common/include/linux/math.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/sys/compat/linuxkpi/common/include/linux/math.h b/sys/compat/linuxkpi/common/include/linux/math.h
index fc4542c83f1f..dad7fa7fbe9c 100644
--- a/sys/compat/linuxkpi/common/include/linux/math.h
+++ b/sys/compat/linuxkpi/common/include/linux/math.h
@@ -5,6 +5,7 @@
* Copyright (c) 2014-2015 François Tigeot
* Copyright (c) 2016 Matt Macy <mmacy@FreeBSD.org>
* Copyright (c) 2019 Johannes Lundberg <johalun@FreeBSD.org>
+ * Copyright (c) 2023 Serenity Cyber Security, LLC.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -55,6 +56,14 @@
__ret; \
})
+#if defined(LINUXKPI_VERSION) && LINUXKPI_VERSION >= 60600
+#define abs_diff(x, y) ({ \
+ __typeof(x) _x = (x); \
+ __typeof(y) _y = (y); \
+ _x > _y ? _x - _y : _y - _x; \
+})
+#endif
+
static inline uintmax_t
mult_frac(uintmax_t x, uintmax_t multiplier, uintmax_t divisor)
{