Fujitsu slightly changed the DMI strings in their recent machines,
(for example the D2778) and this breaks the automatic loading of the
needed fschmd driver. Being more tolerant on string comparison fixes
the issue.

This closes bug #15634:
https://bugzilla.kernel.org/show_bug.cgi?id=15634

Signed-off-by: Jean Delvare <[email protected]>
Tested-by: Sergey Spiridonov <[email protected]>
Cc: Hans de Goede <[email protected]>
---
 drivers/i2c/busses/i2c-i801.c |    8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

--- linux-2.6.35-rc4.orig/drivers/i2c/busses/i2c-i801.c 2010-07-07 
15:00:17.000000000 +0200
+++ linux-2.6.35-rc4/drivers/i2c/busses/i2c-i801.c      2010-07-08 
18:00:51.000000000 +0200
@@ -655,7 +655,7 @@ static void __devinit dmi_check_onboard_
                /* & ~0x80, ignore enabled/disabled bit */
                if ((type & ~0x80) != dmi_devices[i].type)
                        continue;
-               if (strcmp(name, dmi_devices[i].name))
+               if (strcasecmp(name, dmi_devices[i].name))
                        continue;
 
                memset(&info, 0, sizeof(struct i2c_board_info));
@@ -704,9 +704,6 @@ static int __devinit i801_probe(struct p
 {
        unsigned char temp;
        int err, i;
-#if defined CONFIG_SENSORS_FSCHMD || defined CONFIG_SENSORS_FSCHMD_MODULE
-       const char *vendor;
-#endif
 
        I801_dev = dev;
        i801_features = 0;
@@ -808,8 +805,7 @@ static int __devinit i801_probe(struct p
        }
 #endif
 #if defined CONFIG_SENSORS_FSCHMD || defined CONFIG_SENSORS_FSCHMD_MODULE
-       vendor = dmi_get_system_info(DMI_BOARD_VENDOR);
-       if (vendor && !strcmp(vendor, "FUJITSU SIEMENS"))
+       if (dmi_name_in_vendors("FUJITSU"))
                dmi_walk(dmi_check_onboard_devices, &i801_adapter);
 #endif
 


-- 
Jean Delvare
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to