Revert "hwmon: (sch56xx-common) Add automatic module loading on supported devices"
[ Upstream commitd621a46d05
] This reverts commit393935baa4
. 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:393935baa4
("hwmon: (sch56xx-common) Add automatic module loading on supported devices") Reported-by: Ian 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: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
fe7d29176a
commit
a32a93ec7e
1 changed files with 2 additions and 38 deletions
|
@ -7,10 +7,8 @@
|
|||
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
|
||||
|
||||
#include <linux/module.h>
|
||||
#include <linux/mod_devicetable.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/dmi.h>
|
||||
#include <linux/err.h>
|
||||
#include <linux/io.h>
|
||||
#include <linux/acpi.h>
|
||||
|
@ -21,10 +19,7 @@
|
|||
#include <linux/slab.h>
|
||||
#include "sch56xx-common.h"
|
||||
|
||||
static bool ignore_dmi;
|
||||
module_param(ignore_dmi, bool, 0);
|
||||
MODULE_PARM_DESC(ignore_dmi, "Omit DMI check for supported devices (default=0)");
|
||||
|
||||
/* Insmod parameters */
|
||||
static bool nowayout = WATCHDOG_NOWAYOUT;
|
||||
module_param(nowayout, bool, 0);
|
||||
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)
|
|||
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)
|
||||
{
|
||||
const char *name = NULL;
|
||||
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);
|
||||
if (address < 0)
|
||||
address = sch56xx_find(0x2e, &name);
|
||||
|
|
Loading…
Reference in a new issue