summaryrefslogtreecommitdiffstats
path: root/drivers/hwmon/lm85.c
diff options
context:
space:
mode:
authorJean Delvare2008-10-17 17:51:13 +0200
committerJean Delvare2008-10-17 17:51:13 +0200
commit86010c982db2030aad2c31f178b208964f5f6806 (patch)
tree8bc829108fd362654f950dd9b3e98667c7831c6c /drivers/hwmon/lm85.c
parenthwmon: (lm85) Implement the standard PWM frequency interface (diff)
downloadkernel-qcow2-linux-86010c982db2030aad2c31f178b208964f5f6806.tar.gz
kernel-qcow2-linux-86010c982db2030aad2c31f178b208964f5f6806.tar.xz
kernel-qcow2-linux-86010c982db2030aad2c31f178b208964f5f6806.zip
hwmon: (lm85) Select the closest PWM frequency
The LM85 and compatible chips only support 8 arbitrary PWM frequencies. The algorithm to pick one of them based on the user input is not optimum. Improve it to always pick the closest supported frequency. Signed-off-by: Jean Delvare <khali@linux-fr.org> Acked-by: Herbert Poetzl <herbert@13thfloor.at>
Diffstat (limited to 'drivers/hwmon/lm85.c')
-rw-r--r--drivers/hwmon/lm85.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/hwmon/lm85.c b/drivers/hwmon/lm85.c
index 6b676df3547b..c323c2b89808 100644
--- a/drivers/hwmon/lm85.c
+++ b/drivers/hwmon/lm85.c
@@ -199,10 +199,9 @@ static int FREQ_TO_REG(int freq)
{
int i;
- if (freq >= lm85_freq_map[7])
- return 7;
+ /* Find the closest match */
for (i = 0; i < 7; ++i)
- if (freq <= lm85_freq_map[i])
+ if (freq <= (lm85_freq_map[i] + lm85_freq_map[i + 1]) / 2)
break;
return i;
}