RE: [PATCH] platform/x86: dell-sysman: add support for alienware products

From: Ksr, Prasanth
Date: Tue Oct 08 2024 - 00:31:30 EST


+AD4- +AFs-EXTERNAL EMAIL+AF0-


Internal Use - Confidential
On 9/23/2024 01:36, Crag Wang wrote:
+AD4- Use SMBIOS Type 1 manfacturer instead OEM strings to verify product
+AD4- compatibility. Also, add Alienware products to the support scope.

+AD4- Alienware systems don't use OEM string +ACI-Dell System+ACI-? TIL.
If the system is Dell-developed, the string value is +IBw-Dell Inc.+IB0-. System management software can identify a Dell system by checking for +IBw-Dell +IB0- as the first five characters of this string. Alienware systems should show +IBw-Alienware+IB0-.
This is according to the Dell implementation of SMBIOS.

+AD4-
+AD4- Signed-off-by: Crag Wang +ADw-crag+AF8-wang+AEA-dell.com+AD4-
+AD4- ---
+AD4- .../x86/dell/dell-wmi-sysman/sysman.c +AHw- 19 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+---
+AD4- 1 file changed, 17 insertions(+-), 2 deletions(-)
+AD4-
+AD4- diff --git a/drivers/platform/x86/dell/dell-wmi-sysman/sysman.c
+AD4- b/drivers/platform/x86/dell/dell-wmi-sysman/sysman.c
+AD4- index 9def7983d7d6..2f3f7e307b29 100644
+AD4- --- a/drivers/platform/x86/dell/dell-wmi-sysman/sysman.c
+AD4- +-+-+- b/drivers/platform/x86/dell/dell-wmi-sysman/sysman.c
+AD4- +AEAAQA- -516,12 +-516,27 +AEAAQA- static int init+AF8-bios+AF8-attributes(int attr+AF8-type, const char +ACo-guid)
+AD4- return retval+ADs-
+AD4- +AH0-
+AD4-
+AD4- +-static const struct dmi+AF8-system+AF8-id sysman+AF8-dev+AF8-table+AFsAXQ- +AF8AXw-initconst +AD0- +AHs-
+AD4- +- +AHs-
+AD4- +- .ident +AD0- +ACI-Dell Inc.+ACI-,
+AD4- +- .matches +AD0- +AHs-
+AD4- +- DMI+AF8-MATCH(DMI+AF8-SYS+AF8-VENDOR, +ACI-Dell Inc.+ACI-),
+AD4- +- +AH0-,
+AD4- +- +AH0-,
+AD4- +- +AHs-
+AD4- +- .ident +AD0- +ACI-Alienware+ACI-,
+AD4- +- .matches +AD0- +AHs-
+AD4- +- DMI+AF8-MATCH(DMI+AF8-SYS+AF8-VENDOR, +ACI-Alienware+ACI-),
+AD4- +- +AH0-,
+AD4- +- +AH0-,
+AD4- +- +AHsAfQ-
+AD4- +-+AH0AOw-
+AD4- +-
+AD4- static int +AF8AXw-init sysman+AF8-init(void)
+AD4- +AHs-
+AD4- int ret +AD0- 0+ADs-
+AD4-
+AD4- - if (+ACE-dmi+AF8-find+AF8-device(DMI+AF8-DEV+AF8-TYPE+AF8-OEM+AF8-STRING, +ACI-Dell System+ACI-, NULL) +ACYAJg-
+AD4- - +ACE-dmi+AF8-find+AF8-device(DMI+AF8-DEV+AF8-TYPE+AF8-OEM+AF8-STRING, +ACI-www.dell.com+ACI-, NULL)) +AHs-
+AD4- +- if (+ACE-dmi+AF8-check+AF8-system(sysman+AF8-dev+AF8-table)) +AHs-

+AD4- Would it perhaps make sense to be an +ACYAJg- condition instead of remove the
+AD4- dmi+AF8-find+AF8-device() conditions?

Agreed on this.

+AD4- IE:

+AD4- if (+ACE-dmi+AF8-find+AF8-device() +ACYAJg- +ACE-dmi+AF8-find+AF8-device() +ACYAJg- +ACE-dmi+AF8-check+AF8-system())

+AD4- Then you can continue to cover anything that has been rebranded too.

+AD4- pr+AF8-err(+ACI-Unable to run on non-Dell system+AFw-n+ACI-)+ADs-
+AD4- return -ENODEV+ADs-
+AD4- +AH0-