diff options
Diffstat (limited to 'drivers/hwmon/w83627ehf.c')
| -rw-r--r-- | drivers/hwmon/w83627ehf.c | 18 |
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); |
