Strange results of DIV_ROUND_CLOSEST

From: Juergen Beisert
Date: Tue Dec 18 2012 - 10:06:24 EST


Hi list,

commit 263a523d18bca306016d75f5c8d5c57c37fe52fb changes the code of
DIV_ROUND_CLOSEST in include/linux/kernel.h to fix a compile time warning.

But now feeding in a zero into this macro results into 4198403. Tested with
gcc 4.4.3 and 4.7.2, on arch x86 and ARM.

I can reproduce this behaviour, when my ADC delivers a '0' value in the driver
drivers/hwmon/s3c-hwmon.c in function s3c_hwmon_ch_show() with a current
3.7.1 kernel. The value is correct again, when the ADC delivers at least
a '1'.

Any ideas how to fix it correctly?

jbe
--
Pengutronix e.K. | Juergen Beisert |
Linux Solutions for Science and Industry | http://www.pengutronix.de/ |
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/