The RPM after conversion from / before conversion to a register value can be
much more than 65535 (up to
1500000), so putting this into an u16 can cause
overflows. This changes the functions to use an int to store / get RPM instead.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
outb(SIO_LOCK_KEY, base);
}
-static inline u16 fan_from_reg(u16 reg)
+static inline int fan_from_reg(u16 reg)
{
return reg ? (1500000 / reg) : 0;
}
-static inline u16 fan_to_reg(u16 fan)
+static inline u16 fan_to_reg(int fan)
{
return fan ? (1500000 / fan) : 0;
}