[PATCH 1/8] osdep: add DIV_ROUND_CLOSEST
Titus Rwantare <[email protected]> Wed, 29 Jul 2026 23:13:16 +0000
| Newsgroups | org.nongnu.qemu-arm,org.nongnu.qemu-devel |
|---|---|
| Message-ID | <[email protected]> |
This is taken from linux/include/uapi/linux/const.h to match the driver behaviour when reading sensor values. Signed-off-by: Titus Rwantare <[email protected]> --- include/qemu/osdep.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h index 1ec5b42230..08f87c9d61 100644 --- a/include/qemu/osdep.h +++ b/include/qemu/osdep.h @@ -522,6 +522,19 @@ void QEMU_ERROR("code path is reachable") #define DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d)) #endif +#ifndef DIV_ROUND_CLOSEST +#define DIV_ROUND_CLOSEST(n, d) \ +({ \ + typeof(n) __n = n; \ + typeof(d) __d = d; \ + (((typeof(n))-1) > 0 || \ + ((typeof(d))-1) > 0 || \ + (((__n) > 0) == ((__d) > 0))) ? \ + (((__n) + ((__d) / 2)) / (__d)) : \ + (((__n) - ((__d) / 2)) / (__d)); \ +}) +#endif + /* * &(x)[0] is always a pointer - if it's same type as x then the argument is a * pointer, not an array. -- 2.55.0.508.g3f0d502094-goog