aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorCraig Kelley <namonai@gmail.com>2008-02-29 12:24:44 -0500
committerMark M. Hoffman <mhoffman@lightlink.com>2008-03-02 14:21:35 -0500
commit809307768cb177621b8f45f87fa840993ca4cb60 (patch)
tree22d46f22005258624fa921d7074ca38c62fe9266 /drivers
parent49914084e797530d9baaf51df9eda77babc98fa8 (diff)
hwmon: (smsc47b397) add a new chip id (0x8c)
Added a new ID (0x8c) for the smsc47b397 hardware monitor driver. This ID is used by HP in, at least, their dc7700 line. Signed-off-by: Craig Kelley <namonai@gmail.com> Signed-off-by: Mark M. Hoffman <mhoffman@lightlink.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/hwmon/smsc47b397.c17
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:
331static int __init smsc47b397_find(unsigned short *addr) 331static 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;