aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/hwmon/smsc47b397.c
diff options
context:
space:
mode:
authorMark M. Hoffman <mhoffman@lightlink.com>2008-05-01 07:33:17 -0400
committerMark M. Hoffman <mhoffman@lightlink.com>2008-05-01 07:33:17 -0400
commit4f02f8220562591322c118d07a32bebf705318b7 (patch)
treef203c196d16065a51c68e6539e912ca7f9ca9f8f /drivers/hwmon/smsc47b397.c
parenthwmon: (adt7473) minor cleanup / refactoring (diff)
parenthwmon: (smsc47b397) add a new chip id (0x8c) (diff)
downloadlinux-dev-4f02f8220562591322c118d07a32bebf705318b7.tar.xz
linux-dev-4f02f8220562591322c118d07a32bebf705318b7.zip
Merge branch 'smsc47b397-new-id' into release
Diffstat (limited to 'drivers/hwmon/smsc47b397.c')
-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 f61d8f4185b2..eb03544c731c 100644
--- a/drivers/hwmon/smsc47b397.c
+++ b/drivers/hwmon/smsc47b397.c
@@ -335,11 +335,23 @@ exit:
static int __init smsc47b397_find(unsigned short *addr)
{
u8 id, rev;
+ char *name;
superio_enter();
id = force_id ? force_id : superio_inb(SUPERIO_REG_DEVID);
- if ((id != 0x6f) && (id != 0x81) && (id != 0x85)) {
+ switch(id) {
+ case 0x81:
+ name = "SCH5307-NS";
+ break;
+ case 0x6f:
+ name = "LPC47B397-NC";
+ break;
+ case 0x85:
+ case 0x8c:
+ name = "SCH5317";
+ break;
+ default:
superio_exit();
return -ENODEV;
}
@@ -352,8 +364,7 @@ static int __init smsc47b397_find(unsigned short *addr)
printk(KERN_INFO DRVNAME ": found SMSC %s "
"(base address 0x%04x, revision %u)\n",
- id == 0x81 ? "SCH5307-NS" : id == 0x85 ? "SCH5317" :
- "LPC47B397-NC", *addr, rev);
+ name, *addr, rev);
superio_exit();
return 0;