[v4 2/2] hwmon: (nct7904) Fix the confused calculation of case hwmon_fan_min in function "nct7904_write_fan".

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [LM Sensors]     [Linux Sound]     [ALSA Users]     [ALSA Devel]     [Linux Audio Users]     [Linux Media]     [Kernel]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux