hwmon: (ad7314) Fix build warning
The following build warning is seen in some configurations. drivers/hwmon/ad7314.c: In function 'ad7314_show_temperature': drivers/hwmon/ad7314.c:70: warning: 'data' may be used uninitialized in this function Fix by overloading the return value from ad7314_spi_read with both data and error code (the returned data is really u16 and needs to be converted into a signed value anyway). Signed-off-by: Guenter Roeck <linux@roeck-us.net> Cc: Jonathan Cameron <jic23@cam.ac.uk> Acked-by: Jean Delvare <khali@linux-fr.org>
This commit is contained in:
parent
66f75a5d02
commit
eae1415dda
1 changed files with 5 additions and 7 deletions
|
@ -47,7 +47,7 @@ struct ad7314_data {
|
||||||
u16 rx ____cacheline_aligned;
|
u16 rx ____cacheline_aligned;
|
||||||
};
|
};
|
||||||
|
|
||||||
static int ad7314_spi_read(struct ad7314_data *chip, s16 *data)
|
static int ad7314_spi_read(struct ad7314_data *chip)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
@ -57,9 +57,7 @@ static int ad7314_spi_read(struct ad7314_data *chip, s16 *data)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
*data = be16_to_cpu(chip->rx);
|
return be16_to_cpu(chip->rx);
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static ssize_t ad7314_show_temperature(struct device *dev,
|
static ssize_t ad7314_show_temperature(struct device *dev,
|
||||||
|
@ -70,12 +68,12 @@ static ssize_t ad7314_show_temperature(struct device *dev,
|
||||||
s16 data;
|
s16 data;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
ret = ad7314_spi_read(chip, &data);
|
ret = ad7314_spi_read(chip);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
return ret;
|
||||||
switch (spi_get_device_id(chip->spi_dev)->driver_data) {
|
switch (spi_get_device_id(chip->spi_dev)->driver_data) {
|
||||||
case ad7314:
|
case ad7314:
|
||||||
data = (data & AD7314_TEMP_MASK) >> AD7314_TEMP_OFFSET;
|
data = (ret & AD7314_TEMP_MASK) >> AD7314_TEMP_OFFSET;
|
||||||
data = (data << 6) >> 6;
|
data = (data << 6) >> 6;
|
||||||
|
|
||||||
return sprintf(buf, "%d\n", 250 * data);
|
return sprintf(buf, "%d\n", 250 * data);
|
||||||
|
@ -86,7 +84,7 @@ static ssize_t ad7314_show_temperature(struct device *dev,
|
||||||
* with a sign bit - which is a 14 bit 2's complement
|
* with a sign bit - which is a 14 bit 2's complement
|
||||||
* register. 1lsb - 31.25 milli degrees centigrade
|
* register. 1lsb - 31.25 milli degrees centigrade
|
||||||
*/
|
*/
|
||||||
data &= ADT7301_TEMP_MASK;
|
data = ret & ADT7301_TEMP_MASK;
|
||||||
data = (data << 2) >> 2;
|
data = (data << 2) >> 2;
|
||||||
|
|
||||||
return sprintf(buf, "%d\n",
|
return sprintf(buf, "%d\n",
|
||||||
|
|
Loading…
Reference in a new issue