From: "amy.shih" <amy.shih@xxxxxxxxxxxxxxxx> Use the macro "DIV_ROUND_CLOSEST" instead. Signed-off-by: amy.shih <amy.shih@xxxxxxxxxxxxxxxx> Changes in v4: - Fix the confused calculation of case hwmon_fan_min in function "nct7904_write_fan". Changes in v3: - Squashed subsequent fixes of below patches into one patch. -- Fix bad fallthrough in various switch statements. -- Fix the wrong declared of tmp as u8 in nct7904_write_in, declared tmp to int. -- Fix incorrect register setting of voltage. -- Fix incorrect register bit mapping of temperature alarm. -- Fix wrong return code 0x1fff in function nct7904_write_fan. -- Delete wrong comment in function nct7904_write_in. -- Fix wrong attribute names for temperature. -- Fix wrong registers setting for temperature. Changes in v2: - Fix bad fallthrough in various switch statements. - Fix the wrong declared of tmp as u8 in nct7904_write_in, declared tmp to int. --- drivers/hwmon/nct7904.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/hwmon/nct7904.c b/drivers/hwmon/nct7904.c index 6527b56e4f6c..76372f20d71a 100644 --- a/drivers/hwmon/nct7904.c +++ b/drivers/hwmon/nct7904.c @@ -553,7 +553,7 @@ static int nct7904_write_fan(struct device *dev, u32 attr, int channel, if (val <= 0) return -EINVAL; - val = clamp_val((1350000 + (val >> 1)) / val, 1, 0x1fff); + val = clamp_val(DIV_ROUND_CLOSEST(1350000, val), 1, 0x1fff); tmp = (val >> 5) & 0xff; ret = nct7904_write_reg(data, BANK_1, FANIN1_HV_HL_REG + channel * 2, tmp); -- 2.17.1