diff options
| -rw-r--r-- | drivers/hwmon/emc1403.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/hwmon/emc1403.c b/drivers/hwmon/emc1403.c index 90ec1173b8a1..01723f04fe45 100644 --- a/drivers/hwmon/emc1403.c +++ b/drivers/hwmon/emc1403.c | |||
| @@ -163,7 +163,7 @@ static ssize_t store_hyst(struct device *dev, | |||
| 163 | if (retval < 0) | 163 | if (retval < 0) |
| 164 | goto fail; | 164 | goto fail; |
| 165 | 165 | ||
| 166 | hyst = val - retval * 1000; | 166 | hyst = retval * 1000 - val; |
| 167 | hyst = DIV_ROUND_CLOSEST(hyst, 1000); | 167 | hyst = DIV_ROUND_CLOSEST(hyst, 1000); |
| 168 | if (hyst < 0 || hyst > 255) { | 168 | if (hyst < 0 || hyst > 255) { |
| 169 | retval = -ERANGE; | 169 | retval = -ERANGE; |
| @@ -330,7 +330,7 @@ static int emc1403_detect(struct i2c_client *client, | |||
| 330 | } | 330 | } |
| 331 | 331 | ||
| 332 | id = i2c_smbus_read_byte_data(client, THERMAL_REVISION_REG); | 332 | id = i2c_smbus_read_byte_data(client, THERMAL_REVISION_REG); |
| 333 | if (id != 0x01) | 333 | if (id < 0x01 || id > 0x04) |
| 334 | return -ENODEV; | 334 | return -ENODEV; |
| 335 | 335 | ||
| 336 | return 0; | 336 | return 0; |
| @@ -355,9 +355,9 @@ static int emc1403_probe(struct i2c_client *client, | |||
| 355 | if (id->driver_data) | 355 | if (id->driver_data) |
| 356 | data->groups[1] = &emc1404_group; | 356 | data->groups[1] = &emc1404_group; |
| 357 | 357 | ||
| 358 | hwmon_dev = hwmon_device_register_with_groups(&client->dev, | 358 | hwmon_dev = devm_hwmon_device_register_with_groups(&client->dev, |
| 359 | client->name, data, | 359 | client->name, data, |
| 360 | data->groups); | 360 | data->groups); |
| 361 | if (IS_ERR(hwmon_dev)) | 361 | if (IS_ERR(hwmon_dev)) |
| 362 | return PTR_ERR(hwmon_dev); | 362 | return PTR_ERR(hwmon_dev); |
| 363 | 363 | ||
