diff options
author | Hans de Goede <hdegoede@redhat.com> | 2009-01-07 16:37:31 +0100 |
---|---|---|
committer | Jean Delvare <khali@linux-fr.org> | 2009-01-07 16:37:31 +0100 |
commit | 28ba858798d5c70513cd8b9742841fd1bd49a074 (patch) | |
tree | beabd0596c21e0f3b3d3a61c8dda1e6fac45b3ee | |
parent | 3b02d332b6f15cc8f7b6a04757c86034669600e0 (diff) |
hwmon: (f71882fg) Printout fan modes
Print the mode (duty-cycle or RPM) of each fan on driver load.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
-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); |