Commit d621a46d authored by Guenter Roeck's avatar Guenter Roeck

Revert "hwmon: (sch56xx-common) Add automatic module loading on supported devices"

This reverts commit 393935ba.

As reported by Ian Nartowicz, this and the next patch
result in a failure to load the driver on Celsius W280.
While the alternative would be to add the board to the DMI
override table, it is quite likely that other systems are
also affected. Revert the offending patches to avoid future
problems.

Fixes: 393935ba ("hwmon: (sch56xx-common) Add automatic module loading on supported devices")
Reported-by: default avatarIan Nartowicz <deadbeef@nartowicz.co.uk>
Closes: https://lore.kernel.org/linux-hwmon/20231025192239.3c5389ae@debian.org/T/#t
Cc: Armin Wolf <W_Armin@gmx.de>
Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
parent 28da9dee
...@@ -7,10 +7,8 @@ ...@@ -7,10 +7,8 @@
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
#include <linux/module.h> #include <linux/module.h>
#include <linux/mod_devicetable.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/dmi.h>
#include <linux/err.h> #include <linux/err.h>
#include <linux/io.h> #include <linux/io.h>
#include <linux/acpi.h> #include <linux/acpi.h>
...@@ -21,10 +19,7 @@ ...@@ -21,10 +19,7 @@
#include <linux/slab.h> #include <linux/slab.h>
#include "sch56xx-common.h" #include "sch56xx-common.h"
static bool ignore_dmi; /* Insmod parameters */
module_param(ignore_dmi, bool, 0);
MODULE_PARM_DESC(ignore_dmi, "Omit DMI check for supported devices (default=0)");
static bool nowayout = WATCHDOG_NOWAYOUT; static bool nowayout = WATCHDOG_NOWAYOUT;
module_param(nowayout, bool, 0); module_param(nowayout, bool, 0);
MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started (default=" MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started (default="
...@@ -523,42 +518,11 @@ static int __init sch56xx_device_add(int address, const char *name) ...@@ -523,42 +518,11 @@ static int __init sch56xx_device_add(int address, const char *name)
return PTR_ERR_OR_ZERO(sch56xx_pdev); return PTR_ERR_OR_ZERO(sch56xx_pdev);
} }
/* For autoloading only */
static const struct dmi_system_id sch56xx_dmi_table[] __initconst = {
{
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"),
},
},
{ }
};
MODULE_DEVICE_TABLE(dmi, sch56xx_dmi_table);
static int __init sch56xx_init(void) static int __init sch56xx_init(void)
{ {
const char *name = NULL;
int address; int address;
const char *name = NULL;
if (!ignore_dmi) {
if (!dmi_check_system(sch56xx_dmi_table))
return -ENODEV;
/*
* Some machines like the Esprimo P720 and Esprimo C700 have
* onboard devices named " Antiope"/" Theseus" instead of
* "Antiope"/"Theseus", so we need to check for both.
*/
if (!dmi_find_device(DMI_DEV_TYPE_OTHER, "Antiope", NULL) &&
!dmi_find_device(DMI_DEV_TYPE_OTHER, " Antiope", NULL) &&
!dmi_find_device(DMI_DEV_TYPE_OTHER, "Theseus", NULL) &&
!dmi_find_device(DMI_DEV_TYPE_OTHER, " Theseus", NULL))
return -ENODEV;
}
/*
* Some devices like the Esprimo C700 have both onboard devices,
* so we still have to check manually
*/
address = sch56xx_find(0x4e, &name); address = sch56xx_find(0x4e, &name);
if (address < 0) if (address < 0)
address = sch56xx_find(0x2e, &name); address = sch56xx_find(0x2e, &name);
......
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