Commit 7ab83a9137ccd3e092fb6ad0cb105b4d1fb617ae

Authored by Mark M. Hoffman
Committed by Greg Kroah-Hartman
1 parent 1747ef1b8c

[PATCH] hwmon: New device ID for the smsc47b397 driver

This patch adds a new ID to the SMSC LPC47B397-NC hardware
monitoring driver - for a chip that is claimed to be 100%
compatible otherwise.

Signed-off-by: Bryan Young (Utilitek Systems, Inc.)
Signed-off-by: Mark M. Hoffman <mhoffman@lightlink.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

Showing 2 changed files with 10 additions and 5 deletions Side-by-side Diff

Documentation/hwmon/smsc47b397
... ... @@ -3,6 +3,7 @@
3 3  
4 4 Supported chips:
5 5 * SMSC LPC47B397-NC
  6 + * SMSC SCH5307-NS
6 7 Prefix: 'smsc47b397'
7 8 Addresses scanned: none, address read from Super I/O config space
8 9 Datasheet: In this file
9 10  
... ... @@ -12,11 +13,14 @@
12 13  
13 14 November 23, 2004
14 15  
15   -The following specification describes the SMSC LPC47B397-NC sensor chip
  16 +The following specification describes the SMSC LPC47B397-NC[1] sensor chip
16 17 (for which there is no public datasheet available). This document was
17 18 provided by Craig Kelly (In-Store Broadcast Network) and edited/corrected
18 19 by Mark M. Hoffman <mhoffman@lightlink.com>.
19 20  
  21 +[1] And SMSC SCH5307-NS, which has a different device ID but is otherwise
  22 +compatible.
  23 +
20 24 * * * * *
21 25  
22 26 Methods for detecting the HP SIO and reading the thermal data on a dc7100.
... ... @@ -127,7 +131,7 @@
127 131 The registers of interest for identifying the SIO on the dc7100 are Device ID
128 132 (0x20) and Device Rev (0x21).
129 133  
130   -The Device ID will read 0X6F
  134 +The Device ID will read 0x6F (for SCH5307-NS, 0x81)
131 135 The Device Rev currently reads 0x01
132 136  
133 137 Obtaining the HWM Base Address.
drivers/hwmon/smsc47b397.c
... ... @@ -299,7 +299,7 @@
299 299 superio_enter();
300 300 id = superio_inb(SUPERIO_REG_DEVID);
301 301  
302   - if (id != 0x6f) {
  302 + if ((id != 0x6f) && (id != 0x81)) {
303 303 superio_exit();
304 304 return -ENODEV;
305 305 }
... ... @@ -310,8 +310,9 @@
310 310 *addr = (superio_inb(SUPERIO_REG_BASE_MSB) << 8)
311 311 | superio_inb(SUPERIO_REG_BASE_LSB);
312 312  
313   - printk(KERN_INFO "smsc47b397: found SMSC LPC47B397-NC "
314   - "(base address 0x%04x, revision %u)\n", *addr, rev);
  313 + printk(KERN_INFO "smsc47b397: found SMSC %s "
  314 + "(base address 0x%04x, revision %u)\n",
  315 + id == 0x81 ? "SCH5307-NS" : "LPC47B397-NC", *addr, rev);
315 316  
316 317 superio_exit();
317 318 return 0;