aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorJean Delvare <khali@linux-fr.org>2008-01-03 15:22:44 -0500
committerMark M. Hoffman <mhoffman@lightlink.com>2008-02-07 20:39:45 -0500
commitcbe311f2a40b8430d8e01b97c11e9e95d888430b (patch)
tree0a9d1acbe72c5b29fbe6d11b15b84be489a938f9 /drivers
parent636866b9f0a72583d2361a897668eb19ff37ded6 (diff)
hwmon: (w83627ehf) The W83627DHG has 8 VID pins
While the W83627EHF/EHG has only 6 VID pins, the W83627DHG has 8 VID pins, to support VRD 11.0. Add support for this. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Mark M. Hoffman <mhoffman@lightlink.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/hwmon/w83627ehf.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/drivers/hwmon/w83627ehf.c b/drivers/hwmon/w83627ehf.c
index 699592855bd8..075164dd65a7 100644
--- a/drivers/hwmon/w83627ehf.c
+++ b/drivers/hwmon/w83627ehf.c
@@ -1202,8 +1202,7 @@ static void w83627ehf_device_remove_files(struct device *dev)
1202 device_remove_file(dev, &sda_temp[i].dev_attr); 1202 device_remove_file(dev, &sda_temp[i].dev_attr);
1203 1203
1204 device_remove_file(dev, &dev_attr_name); 1204 device_remove_file(dev, &dev_attr_name);
1205 if (data->vid != 0x3f) 1205 device_remove_file(dev, &dev_attr_cpu0_vid);
1206 device_remove_file(dev, &dev_attr_cpu0_vid);
1207} 1206}
1208 1207
1209/* Get the monitoring functions started */ 1208/* Get the monitoring functions started */
@@ -1303,11 +1302,16 @@ static int __devinit w83627ehf_probe(struct platform_device *pdev)
1303 } 1302 }
1304 } 1303 }
1305 1304
1306 data->vid = superio_inb(sio_data->sioreg, SIO_REG_VID_DATA) & 0x3f; 1305 data->vid = superio_inb(sio_data->sioreg, SIO_REG_VID_DATA);
1306 if (sio_data->kind == w83627ehf) /* 6 VID pins only */
1307 data->vid &= 0x3f;
1308
1309 err = device_create_file(dev, &dev_attr_cpu0_vid);
1310 if (err)
1311 goto exit_release;
1307 } else { 1312 } else {
1308 dev_info(dev, "VID pins in output mode, CPU VID not " 1313 dev_info(dev, "VID pins in output mode, CPU VID not "
1309 "available\n"); 1314 "available\n");
1310 data->vid = 0x3f;
1311 } 1315 }
1312 1316
1313 /* fan4 and fan5 share some pins with the GPIO and serial flash */ 1317 /* fan4 and fan5 share some pins with the GPIO and serial flash */
@@ -1390,12 +1394,6 @@ static int __devinit w83627ehf_probe(struct platform_device *pdev)
1390 if (err) 1394 if (err)
1391 goto exit_remove; 1395 goto exit_remove;
1392 1396
1393 if (data->vid != 0x3f) {
1394 err = device_create_file(dev, &dev_attr_cpu0_vid);
1395 if (err)
1396 goto exit_remove;
1397 }
1398
1399 data->hwmon_dev = hwmon_device_register(dev); 1397 data->hwmon_dev = hwmon_device_register(dev);
1400 if (IS_ERR(data->hwmon_dev)) { 1398 if (IS_ERR(data->hwmon_dev)) {
1401 err = PTR_ERR(data->hwmon_dev); 1399 err = PTR_ERR(data->hwmon_dev);