[PATCH v3 0/9] Convert most Dell WMI drivers to use the new buffer-based API

Armin Wolf
2026-03-14T17:53:01Z

The new buffer-based WMI API improves the compatibility between
different ACPI firmware implementations by performing marshalling/
unmarshalling of WMI buffers like the original Windows driver.

Convert most Dell WMI drivers to use this new API. This also
removes all ACPI-related code from those drivers because the
new buffer-based WMI API uses abstract WMI buffer objects instead
of ACPI objects.

All drivers have been tested on a Dell Inspiron 3505 and appear
to work normally.

The last three patches contain some misc. cleanups for the WMI
driver core itself. The most important change is a fix for modprobe
to verify any WMI GUID strings from WMI drivers and convert them
to uppercase if necessary. This should fix autoloading for WMI
drivers that use WMI GUID strings with lowercase letters.

Changes since v2:
- add Acked-by tag from Guenter
- rework buffer parsing in dell-wmi-descriptor as suggested by Gergo

Changes since v1:
- do not perform pointer arithmetic on void pointers in dell-smm-hwmon

Armin Wolf (9):
platform/x86: dell-descriptor: Use new buffer-based WMI API
platform/x86: dell-privacy: Use new buffer-based WMI API
platform/x86: dell-smbios-wmi: Use new buffer-based WMI API
platform/x86: dell-wmi-base: Use new buffer-based WMI API
platform/x86: dell-ddv: Use new buffer-based WMI API
hwmon: (dell-smm) Use new buffer-based WMI API
platform/wmi: Make wmi_bus_class const
platform/wmi: Make sysfs attributes const
modpost: Handle malformed WMI GUID strings

.../wmi/driver-development-guide.rst | 2 +-
drivers/hwmon/dell-smm-hwmon.c | 47 ++---
drivers/platform/wmi/core.c | 34 +--
drivers/platform/x86/dell/dell-smbios-wmi.c | 46 +++--
drivers/platform/x86/dell/dell-wmi-base.c | 68 +++---
drivers/platform/x86/dell/dell-wmi-ddv.c | 194 ++++++++++--------
.../platform/x86/dell/dell-wmi-descriptor.c | 94 ++++-----
drivers/platform/x86/dell/dell-wmi-privacy.c | 78 ++++---
scripts/mod/file2alias.c | 28 ++-
9 files changed, 315 insertions(+), 276 deletions(-)

--
2.39.5