Hi Roland, On Wed, 2011-09-21 at 12:36 -0400, Roland Stigge wrote: > Bugfix for ds620.c: Signed temperatures were not handled appropriately > > Signed-off-by: Roland Stigge <stigge@xxxxxxxxx> > > > diff --git a/drivers/hwmon/ds620.c b/drivers/hwmon/ds620.c > index 257957c..92e39fa 100644 > --- a/drivers/hwmon/ds620.c > +++ b/drivers/hwmon/ds620.c > @@ -72,7 +72,7 @@ struct ds620_data { > char valid; /* !=0 if following fields are valid */ > unsigned long last_updated; /* In jiffies */ > > - u16 temp[3]; /* Register values, word */ > + s16 temp[3]; /* Register values, word */ > }; > > /* > @@ -169,7 +169,8 @@ static ssize_t show_temp(struct device *dev, struct device_attribute *da, > if (IS_ERR(data)) > return PTR_ERR(data); > > - return sprintf(buf, "%d\n", ((data->temp[attr->index] / 8) * 625) / 10); > + return sprintf(buf, "%d\n", > + (((int)data->temp[attr->index] / 8) * 625) / 10); since data->temp is now already signed, you do not need the typecast to int here (conversion from s16 to int is automatic). Thanks, Guenter _______________________________________________ lm-sensors mailing list lm-sensors@xxxxxxxxxxxxxx http://lists.lm-sensors.org/mailman/listinfo/lm-sensors