git: 42aeb3866cea - stable/14 - LinuxKPI: Add abs_diff to linux/math.h

From: Vladimir Kondratyev <wulf_at_FreeBSD.org>
Date: Thu, 01 Aug 2024 22:27:40 UTC
The branch stable/14 has been updated by wulf:

URL: https://cgit.FreeBSD.org/src/commit/?id=42aeb3866cea6b00c00de0f5f0ecb09c863ee18f

commit 42aeb3866cea6b00c00de0f5f0ecb09c863ee18f
Author:     Vladimir Kondratyev <wulf@FreeBSD.org>
AuthorDate: 2024-06-06 20:42:07 +0000
Commit:     Vladimir Kondratyev <wulf@FreeBSD.org>
CommitDate: 2024-08-01 21:09:40 +0000

    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
    
    (cherry picked from commit afc450fac9f04f11cd916916ac28ffc52a973e1e)
---
 sys/compat/linuxkpi/common/include/linux/math.h | 9 +++++++++
 1 file changed, 9 insertions(+)

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)
 {