Commit faabd47f authored by Jean Delvare's avatar Jean Delvare

hwmon: Fix autoloading of fschmd on recent Fujitsu machines

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=15634Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
Tested-by: default avatarSergey Spiridonov <sena@hurd.homeunix.org>
Cc: Hans de Goede <hdegoede@redhat.com>
parent 3f4f09b4
...@@ -655,7 +655,7 @@ static void __devinit dmi_check_onboard_device(u8 type, const char *name, ...@@ -655,7 +655,7 @@ static void __devinit dmi_check_onboard_device(u8 type, const char *name,
/* & ~0x80, ignore enabled/disabled bit */ /* & ~0x80, ignore enabled/disabled bit */
if ((type & ~0x80) != dmi_devices[i].type) if ((type & ~0x80) != dmi_devices[i].type)
continue; continue;
if (strcmp(name, dmi_devices[i].name)) if (strcasecmp(name, dmi_devices[i].name))
continue; continue;
memset(&info, 0, sizeof(struct i2c_board_info)); memset(&info, 0, sizeof(struct i2c_board_info));
...@@ -704,9 +704,6 @@ static int __devinit i801_probe(struct pci_dev *dev, ...@@ -704,9 +704,6 @@ static int __devinit i801_probe(struct pci_dev *dev,
{ {
unsigned char temp; unsigned char temp;
int err, i; int err, i;
#if defined CONFIG_SENSORS_FSCHMD || defined CONFIG_SENSORS_FSCHMD_MODULE
const char *vendor;
#endif
I801_dev = dev; I801_dev = dev;
i801_features = 0; i801_features = 0;
...@@ -808,8 +805,7 @@ static int __devinit i801_probe(struct pci_dev *dev, ...@@ -808,8 +805,7 @@ static int __devinit i801_probe(struct pci_dev *dev,
} }
#endif #endif
#if defined CONFIG_SENSORS_FSCHMD || defined CONFIG_SENSORS_FSCHMD_MODULE #if defined CONFIG_SENSORS_FSCHMD || defined CONFIG_SENSORS_FSCHMD_MODULE
vendor = dmi_get_system_info(DMI_BOARD_VENDOR); if (dmi_name_in_vendors("FUJITSU"))
if (vendor && !strcmp(vendor, "FUJITSU SIEMENS"))
dmi_walk(dmi_check_onboard_devices, &i801_adapter); dmi_walk(dmi_check_onboard_devices, &i801_adapter);
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment