iio: sc27xx_adc: Use DIV_ROUND_CLOSEST() instead of open-coding it
authorLars-Peter Clausen <lars@metafoo.de>
Tue, 22 Dec 2020 19:16:18 +0000 (20:16 +0100)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sat, 9 Jan 2021 21:52:46 +0000 (21:52 +0000)
Use DIV_ROUND_CLOSEST() instead of open-coding it. This makes it more clear
what is going on for the casual reviewer.

Generated using the following the Coccinelle semantic patch.

// <smpl>
@@
expression x, y;
@@
-((x) + ((y) / 2)) / (y)
+DIV_ROUND_CLOSEST(x, y)
// </smpl>

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Chunyan Zhang <zhang.lyra@gmail.com>
Link: https://lore.kernel.org/r/20201222191618.3433-1-lars@metafoo.de
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/adc/sc27xx_adc.c

index aa32a1f385e22fc064f99e2de372306fe26d8836..301cf66de69502d95e9193eee226a31077647125 100644 (file)
@@ -307,7 +307,7 @@ static int sc27xx_adc_convert_volt(struct sc27xx_adc_data *data, int channel,
 
        sc27xx_adc_volt_ratio(data, channel, scale, &numerator, &denominator);
 
-       return (volt * denominator + numerator / 2) / numerator;
+       return DIV_ROUND_CLOSEST(volt * denominator, numerator);
 }
 
 static int sc27xx_adc_read_processed(struct sc27xx_adc_data *data,