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
This commit is contained in:
Vladimir Kondratyev 2024-06-06 23:42:07 +03:00
parent 588064e658
commit afc450fac9
1 changed files with 9 additions and 0 deletions

View File

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