diff options
Diffstat (limited to 'drivers/hwmon/w83627ehf.c')
-rw-r--r-- | drivers/hwmon/w83627ehf.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/hwmon/w83627ehf.c b/drivers/hwmon/w83627ehf.c index 2157c3424de1..e615b8378fc3 100644 --- a/drivers/hwmon/w83627ehf.c +++ b/drivers/hwmon/w83627ehf.c | |||
@@ -1387,14 +1387,19 @@ static int __init w83627ehf_find(int sioaddr, unsigned short *addr, | |||
1387 | | superio_inb(sioaddr, SIO_REG_ADDR + 1); | 1387 | | superio_inb(sioaddr, SIO_REG_ADDR + 1); |
1388 | *addr = val & IOREGION_ALIGNMENT; | 1388 | *addr = val & IOREGION_ALIGNMENT; |
1389 | if (*addr == 0) { | 1389 | if (*addr == 0) { |
1390 | printk(KERN_ERR DRVNAME ": Refusing to enable a Super-I/O " | ||
1391 | "device with a base I/O port 0.\n"); | ||
1390 | superio_exit(sioaddr); | 1392 | superio_exit(sioaddr); |
1391 | return -ENODEV; | 1393 | return -ENODEV; |
1392 | } | 1394 | } |
1393 | 1395 | ||
1394 | /* Activate logical device if needed */ | 1396 | /* Activate logical device if needed */ |
1395 | val = superio_inb(sioaddr, SIO_REG_ENABLE); | 1397 | val = superio_inb(sioaddr, SIO_REG_ENABLE); |
1396 | if (!(val & 0x01)) | 1398 | if (!(val & 0x01)) { |
1399 | printk(KERN_WARNING DRVNAME ": Forcibly enabling Super-I/O. " | ||
1400 | "Sensor is probably unusable.\n"); | ||
1397 | superio_outb(sioaddr, SIO_REG_ENABLE, val | 0x01); | 1401 | superio_outb(sioaddr, SIO_REG_ENABLE, val | 0x01); |
1402 | } | ||
1398 | 1403 | ||
1399 | superio_exit(sioaddr); | 1404 | superio_exit(sioaddr); |
1400 | pr_info(DRVNAME ": Found %s chip at %#x\n", sio_name, *addr); | 1405 | pr_info(DRVNAME ": Found %s chip at %#x\n", sio_name, *addr); |