diff options
| -rw-r--r-- | drivers/hwmon/smsc47b397.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/drivers/hwmon/smsc47b397.c b/drivers/hwmon/smsc47b397.c index 0b57d2ea2cf7..54187bf25d34 100644 --- a/drivers/hwmon/smsc47b397.c +++ b/drivers/hwmon/smsc47b397.c | |||
| @@ -331,11 +331,23 @@ exit: | |||
| 331 | static int __init smsc47b397_find(unsigned short *addr) | 331 | static int __init smsc47b397_find(unsigned short *addr) |
| 332 | { | 332 | { |
| 333 | u8 id, rev; | 333 | u8 id, rev; |
| 334 | char *name; | ||
| 334 | 335 | ||
| 335 | superio_enter(); | 336 | superio_enter(); |
| 336 | id = superio_inb(SUPERIO_REG_DEVID); | 337 | id = superio_inb(SUPERIO_REG_DEVID); |
| 337 | 338 | ||
| 338 | if ((id != 0x6f) && (id != 0x81) && (id != 0x85)) { | 339 | switch(id) { |
| 340 | case 0x81: | ||
| 341 | name = "SCH5307-NS"; | ||
| 342 | break; | ||
| 343 | case 0x6f: | ||
| 344 | name = "LPC47B397-NC"; | ||
| 345 | break; | ||
| 346 | case 0x85: | ||
| 347 | case 0x8c: | ||
| 348 | name = "SCH5317"; | ||
| 349 | break; | ||
| 350 | default: | ||
| 339 | superio_exit(); | 351 | superio_exit(); |
| 340 | return -ENODEV; | 352 | return -ENODEV; |
| 341 | } | 353 | } |
| @@ -348,8 +360,7 @@ static int __init smsc47b397_find(unsigned short *addr) | |||
| 348 | 360 | ||
| 349 | printk(KERN_INFO DRVNAME ": found SMSC %s " | 361 | printk(KERN_INFO DRVNAME ": found SMSC %s " |
| 350 | "(base address 0x%04x, revision %u)\n", | 362 | "(base address 0x%04x, revision %u)\n", |
| 351 | id == 0x81 ? "SCH5307-NS" : id == 0x85 ? "SCH5317" : | 363 | name, *addr, rev); |
| 352 | "LPC47B397-NC", *addr, rev); | ||
| 353 | 364 | ||
| 354 | superio_exit(); | 365 | superio_exit(); |
| 355 | return 0; | 366 | return 0; |
