Use SMBIOS Type 1 manfacturer instead OEM strings to verify product compatibility. Also, add Alienware products to the support scope. Signed-off-by: Crag Wang <crag_wang@xxxxxxxx> --- .../x86/dell/dell-wmi-sysman/sysman.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/drivers/platform/x86/dell/dell-wmi-sysman/sysman.c b/drivers/platform/x86/dell/dell-wmi-sysman/sysman.c index 9def7983d7d6..2f3f7e307b29 100644 --- a/drivers/platform/x86/dell/dell-wmi-sysman/sysman.c +++ b/drivers/platform/x86/dell/dell-wmi-sysman/sysman.c @@ -516,12 +516,27 @@ static int init_bios_attributes(int attr_type, const char *guid) return retval; } +static const struct dmi_system_id sysman_dev_table[] __initconst = { + { + .ident = "Dell Inc.", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + }, + }, + { + .ident = "Alienware", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Alienware"), + }, + }, + {} +}; + static int __init sysman_init(void) { int ret = 0; - if (!dmi_find_device(DMI_DEV_TYPE_OEM_STRING, "Dell System", NULL) && - !dmi_find_device(DMI_DEV_TYPE_OEM_STRING, "www.dell.com", NULL)) { + if (!dmi_check_system(sysman_dev_table)) { pr_err("Unable to run on non-Dell system\n"); return -ENODEV; } -- 2.43.0