[PATCH 0/4] platform/x86: wmi: Prepare for future changes

Armin Wolf posted 4 patches 3 months ago
There is a newer version of this series
Documentation/driver-api/wmi.rst           |  2 +-
MAINTAINERS                                |  2 +-
drivers/platform/x86/Kconfig               | 30 +------------------
drivers/platform/x86/Makefile              |  2 +-
drivers/platform/x86/wmi/Kconfig           | 34 ++++++++++++++++++++++
drivers/platform/x86/wmi/Makefile          |  8 +++++
drivers/platform/x86/{wmi.c => wmi/core.c} | 34 +++++++++++++---------
fs/nls/nls_base.c                          | 16 +++++++---
include/linux/wmi.h                        | 15 ++++------
9 files changed, 84 insertions(+), 59 deletions(-)
create mode 100644 drivers/platform/x86/wmi/Kconfig
create mode 100644 drivers/platform/x86/wmi/Makefile
rename drivers/platform/x86/{wmi.c => wmi/core.c} (98%)
[PATCH 0/4] platform/x86: wmi: Prepare for future changes
Posted by Armin Wolf 3 months ago
After over a year of reverse engineering, i am finally ready to
introduce support for WMI-ACPI marshalling inside the WMI driver core.
Since the resulting patch series is quite large, i am planning to
submit the necessary patches as three separate patch series.

This is supposed to be the first of the three patch series. Its main
purpose is to prepare the WMI driver core for the upcoming changes.
The first patch fixes an issue inside the nls utf16 to utf8 conversion
code, while the next two patches fix some minor issues inside the WMI
driver core itself. The last patch finally moves the code of the WMI
driver core into a separate repository to allow for future additions
without cluttering the main directory.

Armin Wolf (4):
  fs/nls: Fix utf16 to utf8 conversion
  platform/x86: wmi: Use correct type when populating ACPI objects
  platform/x86: wmi: Remove extern keyword from prototypes
  platform/x86: wmi: Move WMI core code into a separate directory

 Documentation/driver-api/wmi.rst           |  2 +-
 MAINTAINERS                                |  2 +-
 drivers/platform/x86/Kconfig               | 30 +------------------
 drivers/platform/x86/Makefile              |  2 +-
 drivers/platform/x86/wmi/Kconfig           | 34 ++++++++++++++++++++++
 drivers/platform/x86/wmi/Makefile          |  8 +++++
 drivers/platform/x86/{wmi.c => wmi/core.c} | 34 +++++++++++++---------
 fs/nls/nls_base.c                          | 16 +++++++---
 include/linux/wmi.h                        | 15 ++++------
 9 files changed, 84 insertions(+), 59 deletions(-)
 create mode 100644 drivers/platform/x86/wmi/Kconfig
 create mode 100644 drivers/platform/x86/wmi/Makefile
 rename drivers/platform/x86/{wmi.c => wmi/core.c} (98%)

-- 
2.39.5
Re: [PATCH 0/4] platform/x86: wmi: Prepare for future changes
Posted by Mario Limonciello 3 months ago
On 11/4/25 2:45 PM, Armin Wolf wrote:
> After over a year of reverse engineering, i am finally ready to
> introduce support for WMI-ACPI marshalling inside the WMI driver core.
marshaling> Since the resulting patch series is quite large, i am 
planning to
> submit the necessary patches as three separate patch series.
> 
> This is supposed to be the first of the three patch series. Its main
> purpose is to prepare the WMI driver core for the upcoming changes.
> The first patch fixes an issue inside the nls utf16 to utf8 conversion
> code, while the next two patches fix some minor issues inside the WMI
> driver core itself. The last patch finally moves the code of the WMI
> driver core into a separate repository to allow for future additions
> without cluttering the main directory.

One question I have here on the patch to move things.

Since Windows on ARM (WoA) laptops are a thing - is this still actually 
x86 specific?  I am wondering if this should be moving to a different 
subsystem altogether like ACPI; especially now with this impending other 
large patch series you have on your way.
> 
> Armin Wolf (4):
>    fs/nls: Fix utf16 to utf8 conversion
>    platform/x86: wmi: Use correct type when populating ACPI objects
>    platform/x86: wmi: Remove extern keyword from prototypes
>    platform/x86: wmi: Move WMI core code into a separate directory
> 
>   Documentation/driver-api/wmi.rst           |  2 +-
>   MAINTAINERS                                |  2 +-
>   drivers/platform/x86/Kconfig               | 30 +------------------
>   drivers/platform/x86/Makefile              |  2 +-
>   drivers/platform/x86/wmi/Kconfig           | 34 ++++++++++++++++++++++
>   drivers/platform/x86/wmi/Makefile          |  8 +++++
>   drivers/platform/x86/{wmi.c => wmi/core.c} | 34 +++++++++++++---------
>   fs/nls/nls_base.c                          | 16 +++++++---
>   include/linux/wmi.h                        | 15 ++++------
>   9 files changed, 84 insertions(+), 59 deletions(-)
>   create mode 100644 drivers/platform/x86/wmi/Kconfig
>   create mode 100644 drivers/platform/x86/wmi/Makefile
>   rename drivers/platform/x86/{wmi.c => wmi/core.c} (98%)
> 

Reviewed-by: Mario Limonciello (AMD) <superm1@kernel.org>
Re: [PATCH 0/4] platform/x86: wmi: Prepare for future changes
Posted by Armin Wolf 3 months ago
Am 04.11.25 um 21:52 schrieb Mario Limonciello:

> On 11/4/25 2:45 PM, Armin Wolf wrote:
>> After over a year of reverse engineering, i am finally ready to
>> introduce support for WMI-ACPI marshalling inside the WMI driver core.
> marshaling> Since the resulting patch series is quite large, i am 
> planning to
>> submit the necessary patches as three separate patch series.
>>
>> This is supposed to be the first of the three patch series. Its main
>> purpose is to prepare the WMI driver core for the upcoming changes.
>> The first patch fixes an issue inside the nls utf16 to utf8 conversion
>> code, while the next two patches fix some minor issues inside the WMI
>> driver core itself. The last patch finally moves the code of the WMI
>> driver core into a separate repository to allow for future additions
>> without cluttering the main directory.
>
> One question I have here on the patch to move things.
>
> Since Windows on ARM (WoA) laptops are a thing - is this still 
> actually x86 specific?  I am wondering if this should be moving to a 
> different subsystem altogether like ACPI; especially now with this 
> impending other large patch series you have on your way.

I know of a few WoA laptops that contain ACPI-WMI devices, meaning this driver is indeed not x86-specific.
However i need to make some changes to the WMI driver core (and actually tests it on a AArch64 VM) first
before moving it out of drivers/platform/x86.

Once i am actually ready for this i would prefer to move the whole stuff to drivers/platform, as drivers/acpi
IMHO is better suited for core ACPI drivers.

Thanks,
Armin Wolf

>>
>> Armin Wolf (4):
>>    fs/nls: Fix utf16 to utf8 conversion
>>    platform/x86: wmi: Use correct type when populating ACPI objects
>>    platform/x86: wmi: Remove extern keyword from prototypes
>>    platform/x86: wmi: Move WMI core code into a separate directory
>>
>>   Documentation/driver-api/wmi.rst           |  2 +-
>>   MAINTAINERS                                |  2 +-
>>   drivers/platform/x86/Kconfig               | 30 +------------------
>>   drivers/platform/x86/Makefile              |  2 +-
>>   drivers/platform/x86/wmi/Kconfig           | 34 ++++++++++++++++++++++
>>   drivers/platform/x86/wmi/Makefile          |  8 +++++
>>   drivers/platform/x86/{wmi.c => wmi/core.c} | 34 +++++++++++++---------
>>   fs/nls/nls_base.c                          | 16 +++++++---
>>   include/linux/wmi.h                        | 15 ++++------
>>   9 files changed, 84 insertions(+), 59 deletions(-)
>>   create mode 100644 drivers/platform/x86/wmi/Kconfig
>>   create mode 100644 drivers/platform/x86/wmi/Makefile
>>   rename drivers/platform/x86/{wmi.c => wmi/core.c} (98%)
>>
>
> Reviewed-by: Mario Limonciello (AMD) <superm1@kernel.org>
Re: [PATCH 0/4] platform/x86: wmi: Prepare for future changes
Posted by Ilpo Järvinen 2 months, 4 weeks ago
On Wed, 5 Nov 2025, Armin Wolf wrote:

> Am 04.11.25 um 21:52 schrieb Mario Limonciello:
> 
> > On 11/4/25 2:45 PM, Armin Wolf wrote:
> > > After over a year of reverse engineering, i am finally ready to
> > > introduce support for WMI-ACPI marshalling inside the WMI driver core.
> > marshaling> Since the resulting patch series is quite large, i am planning
> > to
> > > submit the necessary patches as three separate patch series.
> > > 
> > > This is supposed to be the first of the three patch series. Its main
> > > purpose is to prepare the WMI driver core for the upcoming changes.
> > > The first patch fixes an issue inside the nls utf16 to utf8 conversion
> > > code, while the next two patches fix some minor issues inside the WMI
> > > driver core itself. The last patch finally moves the code of the WMI
> > > driver core into a separate repository to allow for future additions
> > > without cluttering the main directory.
> > 
> > One question I have here on the patch to move things.
> > 
> > Since Windows on ARM (WoA) laptops are a thing - is this still actually x86
> > specific?  I am wondering if this should be moving to a different subsystem
> > altogether like ACPI; especially now with this impending other large patch
> > series you have on your way.
> 
> I know of a few WoA laptops that contain ACPI-WMI devices, meaning this driver
> is indeed not x86-specific.
> However i need to make some changes to the WMI driver core (and actually tests
> it on a AArch64 VM) first
> before moving it out of drivers/platform/x86.
> 
> Once i am actually ready for this i would prefer to move the whole stuff to
> drivers/platform, as drivers/acpi
> IMHO is better suited for core ACPI drivers.

So no need to put it under drivers/platform/x86/wmi/ then at all. It 
can move directly to drivers/platform/wmi/ and you work there towards 
making it non-x86-specific.

-- 
 i.

> 
> Thanks,
> Armin Wolf
> 
> > > 
> > > Armin Wolf (4):
> > >    fs/nls: Fix utf16 to utf8 conversion
> > >    platform/x86: wmi: Use correct type when populating ACPI objects
> > >    platform/x86: wmi: Remove extern keyword from prototypes
> > >    platform/x86: wmi: Move WMI core code into a separate directory
> > > 
> > >   Documentation/driver-api/wmi.rst           |  2 +-
> > >   MAINTAINERS                                |  2 +-
> > >   drivers/platform/x86/Kconfig               | 30 +------------------
> > >   drivers/platform/x86/Makefile              |  2 +-
> > >   drivers/platform/x86/wmi/Kconfig           | 34 ++++++++++++++++++++++
> > >   drivers/platform/x86/wmi/Makefile          |  8 +++++
> > >   drivers/platform/x86/{wmi.c => wmi/core.c} | 34 +++++++++++++---------
> > >   fs/nls/nls_base.c                          | 16 +++++++---
> > >   include/linux/wmi.h                        | 15 ++++------
> > >   9 files changed, 84 insertions(+), 59 deletions(-)
> > >   create mode 100644 drivers/platform/x86/wmi/Kconfig
> > >   create mode 100644 drivers/platform/x86/wmi/Makefile
> > >   rename drivers/platform/x86/{wmi.c => wmi/core.c} (98%)
> > > 
> > 
> > Reviewed-by: Mario Limonciello (AMD) <superm1@kernel.org>
> 
Re: [PATCH 0/4] platform/x86: wmi: Prepare for future changes
Posted by Armin Wolf 2 months, 4 weeks ago
Am 10.11.25 um 12:00 schrieb Ilpo Järvinen:

> On Wed, 5 Nov 2025, Armin Wolf wrote:
>
>> Am 04.11.25 um 21:52 schrieb Mario Limonciello:
>>
>>> On 11/4/25 2:45 PM, Armin Wolf wrote:
>>>> After over a year of reverse engineering, i am finally ready to
>>>> introduce support for WMI-ACPI marshalling inside the WMI driver core.
>>> marshaling> Since the resulting patch series is quite large, i am planning
>>> to
>>>> submit the necessary patches as three separate patch series.
>>>>
>>>> This is supposed to be the first of the three patch series. Its main
>>>> purpose is to prepare the WMI driver core for the upcoming changes.
>>>> The first patch fixes an issue inside the nls utf16 to utf8 conversion
>>>> code, while the next two patches fix some minor issues inside the WMI
>>>> driver core itself. The last patch finally moves the code of the WMI
>>>> driver core into a separate repository to allow for future additions
>>>> without cluttering the main directory.
>>> One question I have here on the patch to move things.
>>>
>>> Since Windows on ARM (WoA) laptops are a thing - is this still actually x86
>>> specific?  I am wondering if this should be moving to a different subsystem
>>> altogether like ACPI; especially now with this impending other large patch
>>> series you have on your way.
>> I know of a few WoA laptops that contain ACPI-WMI devices, meaning this driver
>> is indeed not x86-specific.
>> However i need to make some changes to the WMI driver core (and actually tests
>> it on a AArch64 VM) first
>> before moving it out of drivers/platform/x86.
>>
>> Once i am actually ready for this i would prefer to move the whole stuff to
>> drivers/platform, as drivers/acpi
>> IMHO is better suited for core ACPI drivers.
> So no need to put it under drivers/platform/x86/wmi/ then at all. It
> can move directly to drivers/platform/wmi/ and you work there towards
> making it non-x86-specific.

OK, i will send the v2 revision of this series soon.

Thanks,
Armin Wolf