diff options
Diffstat (limited to 'drivers/hwmon')
-rw-r--r-- | drivers/hwmon/f71882fg.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/drivers/hwmon/f71882fg.c b/drivers/hwmon/f71882fg.c index 0ef7265336b..a6dc3c7787f 100644 --- a/drivers/hwmon/f71882fg.c +++ b/drivers/hwmon/f71882fg.c @@ -1711,7 +1711,7 @@ static int __devinit f71882fg_probe(struct platform_device *pdev) { struct f71882fg_data *data; struct f71882fg_sio_data *sio_data = pdev->dev.platform_data; - int err; + int err, i, nr_fans = (sio_data->type == f71882fg) ? 4 : 3; u8 start_reg; data = kzalloc(sizeof(struct f71882fg_data), GFP_KERNEL); @@ -1735,14 +1735,14 @@ static int __devinit f71882fg_probe(struct platform_device *pdev) goto exit_free; } + data->pwm_enable = f71882fg_read8(data, F71882FG_REG_PWM_ENABLE); /* If it is a 71862 and the fan / pwm part is enabled sanity check the pwm settings */ if (data->type == f71862fg && (start_reg & 0x02)) { - u8 reg = f71882fg_read8(data, F71882FG_REG_PWM_ENABLE); - if ((reg & 0x15) != 0x15) { + if ((data->pwm_enable & 0x15) != 0x15) { dev_err(&pdev->dev, "Invalid (reserved) pwm settings: 0x%02x\n", - (unsigned int)reg); + (unsigned int)data->pwm_enable); err = -ENODEV; goto exit_free; } @@ -1802,6 +1802,11 @@ static int __devinit f71882fg_probe(struct platform_device *pdev) } if (err) goto exit_unregister_sysfs; + + for (i = 0; i < nr_fans; i++) + dev_info(&pdev->dev, "Fan: %d is in %s mode\n", i + 1, + (data->pwm_enable & (1 << 2 * i)) ? + "duty-cycle" : "RPM"); } data->hwmon_dev = hwmon_device_register(&pdev->dev); |