diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/hwmon/f71805f.c | 10 | ||||
-rw-r--r-- | drivers/hwmon/sht15.c | 3 | ||||
-rw-r--r-- | drivers/hwmon/w83627ehf.c | 6 |
3 files changed, 13 insertions, 6 deletions
diff --git a/drivers/hwmon/f71805f.c b/drivers/hwmon/f71805f.c index 92f949767ece..6dbfd3e516e4 100644 --- a/drivers/hwmon/f71805f.c +++ b/drivers/hwmon/f71805f.c | |||
@@ -283,11 +283,11 @@ static inline long temp_from_reg(u8 reg) | |||
283 | 283 | ||
284 | static inline u8 temp_to_reg(long val) | 284 | static inline u8 temp_to_reg(long val) |
285 | { | 285 | { |
286 | if (val < 0) | 286 | if (val <= 0) |
287 | val = 0; | 287 | return 0; |
288 | else if (val > 1000 * 0xff) | 288 | if (val >= 1000 * 0xff) |
289 | val = 0xff; | 289 | return 0xff; |
290 | return ((val + 500) / 1000); | 290 | return (val + 500) / 1000; |
291 | } | 291 | } |
292 | 292 | ||
293 | /* | 293 | /* |
diff --git a/drivers/hwmon/sht15.c b/drivers/hwmon/sht15.c index 6ddeae049058..91fdd1fe18b0 100644 --- a/drivers/hwmon/sht15.c +++ b/drivers/hwmon/sht15.c | |||
@@ -883,7 +883,7 @@ static int sht15_invalidate_voltage(struct notifier_block *nb, | |||
883 | 883 | ||
884 | static int __devinit sht15_probe(struct platform_device *pdev) | 884 | static int __devinit sht15_probe(struct platform_device *pdev) |
885 | { | 885 | { |
886 | int ret = 0; | 886 | int ret; |
887 | struct sht15_data *data = kzalloc(sizeof(*data), GFP_KERNEL); | 887 | struct sht15_data *data = kzalloc(sizeof(*data), GFP_KERNEL); |
888 | u8 status = 0; | 888 | u8 status = 0; |
889 | 889 | ||
@@ -901,6 +901,7 @@ static int __devinit sht15_probe(struct platform_device *pdev) | |||
901 | init_waitqueue_head(&data->wait_queue); | 901 | init_waitqueue_head(&data->wait_queue); |
902 | 902 | ||
903 | if (pdev->dev.platform_data == NULL) { | 903 | if (pdev->dev.platform_data == NULL) { |
904 | ret = -EINVAL; | ||
904 | dev_err(&pdev->dev, "no platform data supplied\n"); | 905 | dev_err(&pdev->dev, "no platform data supplied\n"); |
905 | goto err_free_data; | 906 | goto err_free_data; |
906 | } | 907 | } |
diff --git a/drivers/hwmon/w83627ehf.c b/drivers/hwmon/w83627ehf.c index 0e0af0445222..2dfae7d7cc5b 100644 --- a/drivers/hwmon/w83627ehf.c +++ b/drivers/hwmon/w83627ehf.c | |||
@@ -1319,6 +1319,7 @@ store_pwm_mode(struct device *dev, struct device_attribute *attr, | |||
1319 | { | 1319 | { |
1320 | struct w83627ehf_data *data = dev_get_drvdata(dev); | 1320 | struct w83627ehf_data *data = dev_get_drvdata(dev); |
1321 | struct sensor_device_attribute *sensor_attr = to_sensor_dev_attr(attr); | 1321 | struct sensor_device_attribute *sensor_attr = to_sensor_dev_attr(attr); |
1322 | struct w83627ehf_sio_data *sio_data = dev->platform_data; | ||
1322 | int nr = sensor_attr->index; | 1323 | int nr = sensor_attr->index; |
1323 | unsigned long val; | 1324 | unsigned long val; |
1324 | int err; | 1325 | int err; |
@@ -1330,6 +1331,11 @@ store_pwm_mode(struct device *dev, struct device_attribute *attr, | |||
1330 | 1331 | ||
1331 | if (val > 1) | 1332 | if (val > 1) |
1332 | return -EINVAL; | 1333 | return -EINVAL; |
1334 | |||
1335 | /* On NCT67766F, DC mode is only supported for pwm1 */ | ||
1336 | if (sio_data->kind == nct6776 && nr && val != 1) | ||
1337 | return -EINVAL; | ||
1338 | |||
1333 | mutex_lock(&data->update_lock); | 1339 | mutex_lock(&data->update_lock); |
1334 | reg = w83627ehf_read_value(data, W83627EHF_REG_PWM_ENABLE[nr]); | 1340 | reg = w83627ehf_read_value(data, W83627EHF_REG_PWM_ENABLE[nr]); |
1335 | data->pwm_mode[nr] = val; | 1341 | data->pwm_mode[nr] = val; |