aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/hwmon/lm85.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/hwmon/lm85.c')
-rw-r--r--drivers/hwmon/lm85.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/drivers/hwmon/lm85.c b/drivers/hwmon/lm85.c
index a02480be65f2..194b8fb52f0e 100644
--- a/drivers/hwmon/lm85.c
+++ b/drivers/hwmon/lm85.c
@@ -519,10 +519,21 @@ static ssize_t show_pwm_enable(struct device *dev, struct device_attribute
519{ 519{
520 int nr = to_sensor_dev_attr(attr)->index; 520 int nr = to_sensor_dev_attr(attr)->index;
521 struct lm85_data *data = lm85_update_device(dev); 521 struct lm85_data *data = lm85_update_device(dev);
522 int pwm_zone; 522 int pwm_zone, enable;
523 523
524 pwm_zone = ZONE_FROM_REG(data->autofan[nr].config); 524 pwm_zone = ZONE_FROM_REG(data->autofan[nr].config);
525 return sprintf(buf,"%d\n", (pwm_zone != 0 && pwm_zone != -1) ); 525 switch (pwm_zone) {
526 case -1: /* PWM is always at 100% */
527 enable = 0;
528 break;
529 case 0: /* PWM is always at 0% */
530 case -2: /* PWM responds to manual control */
531 enable = 1;
532 break;
533 default: /* PWM in automatic mode */
534 enable = 2;
535 }
536 return sprintf(buf, "%d\n", enable);
526} 537}
527 538
528#define show_pwm_reg(offset) \ 539#define show_pwm_reg(offset) \