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

Armin Wolf posted 9 patches 3 weeks, 2 days ago
.../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(-)
[PATCH v3 0/9] Convert most Dell WMI drivers to use the new buffer-based API
Posted by Armin Wolf 3 weeks, 2 days ago
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
Re: [PATCH v3 0/9] Convert most Dell WMI drivers to use the new buffer-based API
Posted by Mario Limonciello 3 weeks ago

On 3/14/26 12:52, Armin Wolf wrote:
> 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(-)
> 

Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>
Re: [PATCH v3 0/9] Convert most Dell WMI drivers to use the new buffer-based API
Posted by Guenter Roeck 2 weeks, 6 days ago
On 3/14/26 10:52, Armin Wolf wrote:
> 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.
> 

The series doesn't give hints to maintainers if the patches should be
applied on a per-subsystem basis (i.e., are independent of each other)
or if they need to be applied together. I Acked the hwmon patch, assuming
that it will be applied through a common branch. If the patches are
supposed to be applied in subsystem branches, please let me know.

Thanks,
Guenter
Re: [PATCH v3 0/9] Convert most Dell WMI drivers to use the new buffer-based API
Posted by Armin Wolf 2 weeks, 6 days ago
Am 17.03.26 um 16:52 schrieb Guenter Roeck:

> On 3/14/26 10:52, Armin Wolf wrote:
>> 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.
>>
>
> The series doesn't give hints to maintainers if the patches should be
> applied on a per-subsystem basis (i.e., are independent of each other)
> or if they need to be applied together. I Acked the hwmon patch, assuming
> that it will be applied through a common branch. If the patches are
> supposed to be applied in subsystem branches, please let me know.
>
> Thanks,
> Guenter 

I would prefer if the whole series was applied together on the platform drivers tree.

Thanks,
Armin Wolf
Re: [PATCH v3 0/9] Convert most Dell WMI drivers to use the new buffer-based API
Posted by Guenter Roeck 2 weeks, 6 days ago
On 3/17/26 13:11, Armin Wolf wrote:
> Am 17.03.26 um 16:52 schrieb Guenter Roeck:
> 
>> On 3/14/26 10:52, Armin Wolf wrote:
>>> 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.
>>>
>>
>> The series doesn't give hints to maintainers if the patches should be
>> applied on a per-subsystem basis (i.e., are independent of each other)
>> or if they need to be applied together. I Acked the hwmon patch, assuming
>> that it will be applied through a common branch. If the patches are
>> supposed to be applied in subsystem branches, please let me know.
>>
>> Thanks,
>> Guenter 
> 
> I would prefer if the whole series was applied together on the platform drivers tree.
> 

Thanks for the clarification.

Guenter
Re: [PATCH v3 0/9] Convert most Dell WMI drivers to use the new buffer-based API
Posted by Armin Wolf 1 week, 3 days ago
Am 17.03.26 um 21:22 schrieb Guenter Roeck:
> On 3/17/26 13:11, Armin Wolf wrote:
>> Am 17.03.26 um 16:52 schrieb Guenter Roeck:
>>
>>> On 3/14/26 10:52, Armin Wolf wrote:
>>>> 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.
>>>>
>>>
>>> The series doesn't give hints to maintainers if the patches should be
>>> applied on a per-subsystem basis (i.e., are independent of each other)
>>> or if they need to be applied together. I Acked the hwmon patch, 
>>> assuming
>>> that it will be applied through a common branch. If the patches are
>>> supposed to be applied in subsystem branches, please let me know.
>>>
>>> Thanks,
>>> Guenter 
>>
>> I would prefer if the whole series was applied together on the 
>> platform drivers tree.
>>
> 
> Thanks for the clarification.
> 
> Guenter
>

Is there still something to do for getting this series merged?

Thanks,
Armin Wolf