From 32e730f1d67a01b9f6b368d814c2e8b8294bfccf Mon Sep 17 00:00:00 2001 From: Juerg Haefliger Date: Sun, 27 Jan 2008 16:39:46 -0800 Subject: [PATCH] --- yaml --- r: 84541 b: refs/heads/master c: ff8421f733c91a70d8edadf9ce2842fca66172fa h: refs/heads/master i: 84539: 0970bc01b4e511d60730e9aa19a924ddb5161bed v: v3 --- [refs] | 2 +- trunk/drivers/hwmon/dme1737.c | 15 +++++++++++---- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 61b050bf15bd..173c69ef0953 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: cb96b8ca11644ee1223e0fb3f1f629ead15203cb +refs/heads/master: ff8421f733c91a70d8edadf9ce2842fca66172fa diff --git a/trunk/drivers/hwmon/dme1737.c b/trunk/drivers/hwmon/dme1737.c index 85064fb0b7c2..307f48de051f 100644 --- a/trunk/drivers/hwmon/dme1737.c +++ b/trunk/drivers/hwmon/dme1737.c @@ -283,14 +283,21 @@ static inline int TEMP_HYST_TO_REG(int val, int ix, int reg) /* Fan input RPM */ static inline int FAN_FROM_REG(int reg, int tpc) { - return (reg == 0 || reg == 0xffff) ? 0 : - (tpc == 0) ? 90000 * 60 / reg : tpc * reg; + if (tpc) { + return tpc * reg; + } else { + return (reg == 0 || reg == 0xffff) ? 0 : 90000 * 60 / reg; + } } static inline int FAN_TO_REG(int val, int tpc) { - return SENSORS_LIMIT((tpc == 0) ? 90000 * 60 / val : val / tpc, - 0, 0xffff); + if (tpc) { + return SENSORS_LIMIT(val / tpc, 0, 0xffff); + } else { + return (val <= 0) ? 0xffff : + SENSORS_LIMIT(90000 * 60 / val, 0, 0xfffe); + } } /* Fan TPC (tach pulse count)