hwmon: (dme1737) probe all addresses
authorJuerg Haefliger <juergh@gmail.com>
Fri, 4 Apr 2008 04:34:19 +0000 (21:34 -0700)
committerMark M. Hoffman <mhoffman@lightlink.com>
Fri, 1 Aug 2008 03:44:02 +0000 (23:44 -0400)
This patch adds a module load parameter to enable probing of
non-standard LPC addresses 0x162e and 0x164e when scanning for supported
ISA chips.

Signed-Off-By: Juerg Haefliger <juergh at gmail.com>
Acked-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Mark M. Hoffman <mhoffman@lightlink.com>
Documentation/hwmon/dme1737
drivers/hwmon/dme1737.c

index 8f44607..b1fe009 100644 (file)
@@ -22,6 +22,10 @@ Module Parameters
                        and PWM output control functions. Using this parameter
                        shouldn't be required since the BIOS usually takes care
                        of this.
+* probe_all_addr: bool Include non-standard LPC addresses 0x162e and 0x164e
+                       when probing for ISA devices. This is required for the
+                       following boards:
+                       - VIA EPIA SN18000
 
 Note that there is no need to use this parameter if the driver loads without
 complaining. The driver will say so if it is necessary.
index c24b5b3..5a3d41f 100644 (file)
@@ -48,6 +48,11 @@ static unsigned short force_id;
 module_param(force_id, ushort, 0);
 MODULE_PARM_DESC(force_id, "Override the detected device ID");
 
+static int probe_all_addr;
+module_param(probe_all_addr, bool, 0);
+MODULE_PARM_DESC(probe_all_addr, "Include probing of non-standard LPC "
+                "addresses");
+
 /* Addresses to scan */
 static const unsigned short normal_i2c[] = {0x2c, 0x2d, 0x2e, I2C_CLIENT_END};
 
@@ -2430,7 +2435,10 @@ static int __init dme1737_init(void)
        }
 
        if (dme1737_isa_detect(0x2e, &addr) &&
-           dme1737_isa_detect(0x4e, &addr)) {
+           dme1737_isa_detect(0x4e, &addr) &&
+           (!probe_all_addr ||
+            (dme1737_isa_detect(0x162e, &addr) &&
+             dme1737_isa_detect(0x164e, &addr)))) {
                /* Return 0 if we didn't find an ISA device */
                return 0;
        }