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%)
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
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>
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>
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>
>
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
© 2016 - 2026 Red Hat, Inc.