On Tue, 7 Jul 2026 at 00:01, Titus Rwantare <[email protected]> wrote: > > 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 | 14 ++++++++++++++ > 1 file changed, 14 insertions(+) > > diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h > index 1ec5b42230..a6a40ab8df 100644 > --- a/include/qemu/osdep.h > +++ b/include/qemu/osdep.h > @@ -522,6 +522,20 @@ 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
Can we also have the comment from the kernel header that tells us what it does, please? /* * Divide positive or negative dividend by positive or negative divisor * and round to closest integer. Result is undefined for negative * divisors if the dividend variable type is unsigned and for negative * dividends if the divisor variable type is unsigned. */ -- PMM
