Hi Guenter, On Wed, 25 Jun 2014 09:11:37 -0700, Guenter Roeck wrote: > smatch complains as follows when checking lm63.c. > > drivers/hwmon/lm63.c:594 set_temp11() warn: > '65504' 65504 can't fit into 32767 'data->temp11[nr]' > drivers/hwmon/lm63.c:596 set_temp11() warn: > '32768' 32768 can't fit into 32767 'data->temp11[nr]' > > Fix by typecasting the offending values to s16. > > Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> > --- > drivers/hwmon/lm63.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/hwmon/lm63.c b/drivers/hwmon/lm63.c > index 848b961..371768f 100644 > --- a/drivers/hwmon/lm63.c > +++ b/drivers/hwmon/lm63.c > @@ -134,12 +134,12 @@ static const unsigned short normal_i2c[] = { 0x18, 0x4c, 0x4e, I2C_CLIENT_END }; > (val) >= 255000 ? 255 : \ > ((val) + 500) / 1000) > #define TEMP11_FROM_REG(reg) ((reg) / 32 * 125) > -#define TEMP11_TO_REG(val) ((val) <= -128000 ? 0x8000 : \ > +#define TEMP11_TO_REG(val) ((val) <= -128000 ? (s16)0x8000 : \ > (val) >= 127875 ? 0x7FE0 : \ > (val) < 0 ? ((val) - 62) / 125 * 32 : \ > ((val) + 62) / 125 * 32) > #define TEMP11U_TO_REG(val) ((val) <= 0 ? 0 : \ > - (val) >= 255875 ? 0xFFE0 : \ > + (val) >= 255875 ? (s16)0xFFE0 : \ > ((val) + 62) / 125 * 32) > #define HYST_TO_REG(val) ((val) <= 0 ? 0 : \ > (val) >= 127000 ? 127 : \ If you want. The warnings tell us that this part of the driver would probably benefit from an overhaul. But I'm fine either way. Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> -- Jean Delvare SUSE L3 Support _______________________________________________ lm-sensors mailing list lm-sensors@xxxxxxxxxxxxxx http://lists.lm-sensors.org/mailman/listinfo/lm-sensors