diff options
| -rw-r--r-- | drivers/hwmon/lm75.c | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/drivers/hwmon/lm75.c b/drivers/hwmon/lm75.c index fa7696905154..de698dc73020 100644 --- a/drivers/hwmon/lm75.c +++ b/drivers/hwmon/lm75.c | |||
| @@ -251,10 +251,13 @@ static int lm75_detach_client(struct i2c_client *client) | |||
| 251 | the SMBus standard. */ | 251 | the SMBus standard. */ |
| 252 | static int lm75_read_value(struct i2c_client *client, u8 reg) | 252 | static int lm75_read_value(struct i2c_client *client, u8 reg) |
| 253 | { | 253 | { |
| 254 | int value; | ||
| 255 | |||
| 254 | if (reg == LM75_REG_CONF) | 256 | if (reg == LM75_REG_CONF) |
| 255 | return i2c_smbus_read_byte_data(client, reg); | 257 | return i2c_smbus_read_byte_data(client, reg); |
| 256 | else | 258 | |
| 257 | return swab16(i2c_smbus_read_word_data(client, reg)); | 259 | value = i2c_smbus_read_word_data(client, reg); |
| 260 | return (value < 0) ? value : swab16(value); | ||
| 258 | } | 261 | } |
| 259 | 262 | ||
| 260 | static int lm75_write_value(struct i2c_client *client, u8 reg, u16 value) | 263 | static int lm75_write_value(struct i2c_client *client, u8 reg, u16 value) |
| @@ -287,9 +290,16 @@ static struct lm75_data *lm75_update_device(struct device *dev) | |||
| 287 | int i; | 290 | int i; |
| 288 | dev_dbg(&client->dev, "Starting lm75 update\n"); | 291 | dev_dbg(&client->dev, "Starting lm75 update\n"); |
| 289 | 292 | ||
| 290 | for (i = 0; i < ARRAY_SIZE(data->temp); i++) | 293 | for (i = 0; i < ARRAY_SIZE(data->temp); i++) { |
| 291 | data->temp[i] = lm75_read_value(client, | 294 | int status; |
| 292 | LM75_REG_TEMP[i]); | 295 | |
| 296 | status = lm75_read_value(client, LM75_REG_TEMP[i]); | ||
| 297 | if (status < 0) | ||
| 298 | dev_dbg(&client->dev, "reg %d, err %d\n", | ||
| 299 | LM75_REG_TEMP[i], status); | ||
| 300 | else | ||
| 301 | data->temp[i] = status; | ||
| 302 | } | ||
| 293 | data->last_updated = jiffies; | 303 | data->last_updated = jiffies; |
| 294 | data->valid = 1; | 304 | data->valid = 1; |
| 295 | } | 305 | } |
