* Re: [PATCH v3] platform/wmi: Move ASUS platform drivers from x86 to wmi/asus [not found] <202609221954.123456@gmx.de> @ 2026-09-23 8:29 ` chipang_kao 2026-09-23 8:42 ` Hans de Goede 2026-09-23 12:22 ` Denis Benato 0 siblings, 2 replies; 6+ messages in thread From: chipang_kao @ 2026-09-23 8:29 UTC (permalink / raw) To: W_Armin, hansg, ilpo.jarvinen Cc: corentin.chary, luke, denis.benato, scardracs, platform-driver-x86, linux-kernel Hi Armin, Hans, and all, Thank you for the feedback, Armin! I completely agree that separating WMI core infrastructure from WMI client drivers makes logical sense. The reason v3 relocated the drivers to drivers/platform/wmi/asus/ was based on Hans's earlier suggestion to use the WMI subsystem hierarchy. However, Armin's point about keeping client drivers in a brand-specific directory like drivers/platform/asus/ also provides a very clean, cross-architecture solution for all ASUS platform drivers. Regarding the background: yes, the RTX Spark is indeed our target platform. ASUS plans to provide user-space applications on Ubuntu to control platform features via the WMI interface. During our bring-up on ARM64, we found that no ASUS WMI modules were currently available for this architecture due to the existing x86 Kconfig restriction. This patch series aims to enable cross-architecture WMI support to address this gap. I am happy to go with either path (wmi/asus/ vs. platform/asus/). Hans, Armin, what would be the preferred target directory before I prepare [PATCH v4]? Best regards, Chipang Kao ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v3] platform/wmi: Move ASUS platform drivers from x86 to wmi/asus 2026-09-23 8:29 ` [PATCH v3] platform/wmi: Move ASUS platform drivers from x86 to wmi/asus chipang_kao @ 2026-09-23 8:42 ` Hans de Goede 2026-09-23 12:18 ` Denis Benato 2026-09-23 12:22 ` Denis Benato 1 sibling, 1 reply; 6+ messages in thread From: Hans de Goede @ 2026-09-23 8:42 UTC (permalink / raw) To: chipang_kao, W_Armin, ilpo.jarvinen Cc: corentin.chary, luke, denis.benato, scardracs, platform-driver-x86, linux-kernel Hi, On 23-Sep-26 10:29, chipang_kao wrote: > Hi Armin, Hans, and all, > > Thank you for the feedback, Armin! > > I completely agree that separating WMI core infrastructure from WMI client > drivers makes logical sense. The reason v3 relocated the drivers to > drivers/platform/wmi/asus/ was based on Hans's earlier suggestion to use the > WMI subsystem hierarchy. However, Armin's point about keeping client drivers in > a brand-specific directory like drivers/platform/asus/ also provides a very > clean, cross-architecture solution for all ASUS platform drivers. > > Regarding the background: yes, the RTX Spark is indeed our target platform. > ASUS plans to provide user-space applications on Ubuntu to control platform > features via the WMI interface. During our bring-up on ARM64, we found that no > ASUS WMI modules were currently available for this architecture due to the > existing x86 Kconfig restriction. This patch series aims to enable > cross-architecture WMI support to address this gap. > > I am happy to go with either path (wmi/asus/ vs. platform/asus/). Hans, Armin, > what would be the preferred target directory before I prepare [PATCH v4]? If I understand things correctly then Armin prefers drivers/platform/asus that is completely fine with me, so lets go with drivers/platform/asus . Having that will also be useful to share any platform specific drivers which directly use ACPI calls rather then WMI. E.g. I can see a drivers/platform/lenovo show up to use thinkpad_acpi on ThinkPad ARM64 laptops. Regards, Hans ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v3] platform/wmi: Move ASUS platform drivers from x86 to wmi/asus 2026-09-23 8:42 ` Hans de Goede @ 2026-09-23 12:18 ` Denis Benato 0 siblings, 0 replies; 6+ messages in thread From: Denis Benato @ 2026-09-23 12:18 UTC (permalink / raw) To: Hans de Goede, chipang_kao, W_Armin, ilpo.jarvinen Cc: corentin.chary, luke, scardracs, platform-driver-x86, linux-kernel On 9/23/26 10:42, Hans de Goede wrote: > Hi, > > On 23-Sep-26 10:29, chipang_kao wrote: >> Hi Armin, Hans, and all, >> >> Thank you for the feedback, Armin! >> >> I completely agree that separating WMI core infrastructure from WMI client >> drivers makes logical sense. The reason v3 relocated the drivers to >> drivers/platform/wmi/asus/ was based on Hans's earlier suggestion to use the >> WMI subsystem hierarchy. However, Armin's point about keeping client drivers in >> a brand-specific directory like drivers/platform/asus/ also provides a very >> clean, cross-architecture solution for all ASUS platform drivers. >> >> Regarding the background: yes, the RTX Spark is indeed our target platform. >> ASUS plans to provide user-space applications on Ubuntu to control platform >> features via the WMI interface. During our bring-up on ARM64, we found that no >> ASUS WMI modules were currently available for this architecture due to the >> existing x86 Kconfig restriction. This patch series aims to enable >> cross-architecture WMI support to address this gap. >> >> I am happy to go with either path (wmi/asus/ vs. platform/asus/). Hans, Armin, >> what would be the preferred target directory before I prepare [PATCH v4]? > If I understand things correctly then Armin prefers drivers/platform/asus > that is completely fine with me, so lets go with drivers/platform/asus . Hi Hans, Yeah it's my understanding that drivers/platform/asus is the only path that so far nobody has stated any reason to exclude so I agree on moving asus-related stuff there. > Having that will also be useful to share any platform specific drivers > which directly use ACPI calls rather then WMI. > > E.g. I can see a drivers/platform/lenovo show up to use thinkpad_acpi > on ThinkPad ARM64 laptops. > > Regards, > > Hans > > > Best regards, Denis ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v3] platform/wmi: Move ASUS platform drivers from x86 to wmi/asus 2026-09-23 8:29 ` [PATCH v3] platform/wmi: Move ASUS platform drivers from x86 to wmi/asus chipang_kao 2026-09-23 8:42 ` Hans de Goede @ 2026-09-23 12:22 ` Denis Benato 1 sibling, 0 replies; 6+ messages in thread From: Denis Benato @ 2026-09-23 12:22 UTC (permalink / raw) To: chipang_kao, W_Armin, hansg, ilpo.jarvinen Cc: corentin.chary, luke, scardracs, platform-driver-x86, linux-kernel On 9/23/26 10:29, chipang_kao wrote: > Hi Armin, Hans, and all, > > Thank you for the feedback, Armin! > > I completely agree that separating WMI core infrastructure from WMI client > drivers makes logical sense. The reason v3 relocated the drivers to > drivers/platform/wmi/asus/ was based on Hans's earlier suggestion to use the > WMI subsystem hierarchy. However, Armin's point about keeping client drivers in > a brand-specific directory like drivers/platform/asus/ also provides a very > clean, cross-architecture solution for all ASUS platform drivers. > > Regarding the background: yes, the RTX Spark is indeed our target platform. > ASUS plans to provide user-space applications on Ubuntu to control platform > features via the WMI interface. During our bring-up on ARM64, we found that no > ASUS WMI modules were currently available for this architecture due to the > existing x86 Kconfig restriction. This patch series aims to enable > cross-architecture WMI support to address this gap. So my intuition about RTX Spark having those was spot on... Very good to know. Once those drivers are compiled for arm64 we should be able to reuse the whole asusctl software to get the driver control every hardware that is there. > I am happy to go with either path (wmi/asus/ vs. platform/asus/). Hans, Armin, > what would be the preferred target directory before I prepare [PATCH v4]? > > Best regards, > Chipang Kao Thanks for taking care of this move: it was planned but with no product in my hands I decided to postpone this. Best regards, Denis ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 0/2] platform: Enable ACPI WMI and ASUS WMI driver for ARM64 @ 2026-09-18 7:38 Hans de Goede 2026-09-22 3:21 ` [PATCH v3] platform/wmi: Move ASUS platform drivers from x86 to wmi/asus chipang_kao 0 siblings, 1 reply; 6+ messages in thread From: Hans de Goede @ 2026-09-18 7:38 UTC (permalink / raw) To: chipang_kao, ilpo.jarvinen, bryan.odonoghue, W_Armin Cc: platform-driver-x86, linux-kernel, chipang_kao Hi, On 17-Sep-26 04:10, chipang_kao wrote: > This series enables ACPI WMI core support and the ASUS WMI platform > driver on ARM64 architectures. > > ACPI WMI is not limited to x86 platforms. Modern ARM64 laptops and > platforms have adopted ACPI WMI to expose vendor-specific features > such as hotkeys and fan control. > > To support these devices: > 1. Removes the strict 'X86' dependency from CONFIG_ACPI_WMI. > 2. Updates the ARM64 platform driver infrastructure to allow > building the ASUS WMI driver without duplicating source code. This cover-letter is missing some important information, namely why do this. Yes ACPI / WMI is used on some ARM64 laptops, but AFAIK all of those are currently still booting through Devicetree since the current generation ARM64 laptops is missing various info Linux needs in the ACPI tables. So for a fully functional system Devicetree is necessary. I think making the generic WMI code availabe on ARM64 is good and this is something which Armin has already been working on. But I wonder what the concrete use-case is to build the ASUS WMI driver on ARM64. Questions: 1. Has this been tested on an actual Asus ARM64 laptop or other ARM64 device? 2. On which laptop/device model ? 3. How was this tested, how was the laptop booted; and does booting it this way lead to loosing any other functionality 4. Were any other kernel patches used during testing? As for patch 2/2 I think that if we want this the driver should simply be moved to platform/wmi . Regards, Hans > > chipang_kao (2): > platform/wmi: Remove X86 dependency for ACPI_WMI > platform/arm64: Enable ASUS WMI driver support > > drivers/platform/arm64/Kconfig | 46 +++++++++++++++++++++++++++++++++ > drivers/platform/arm64/Makefile | 2 ++ > drivers/platform/wmi/Kconfig | 2 +- > 3 files changed, 49 insertions(+), 1 deletion(-) > ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v3] platform/wmi: Move ASUS platform drivers from x86 to wmi/asus 2026-09-18 7:38 [PATCH 0/2] platform: Enable ACPI WMI and ASUS WMI driver for ARM64 Hans de Goede @ 2026-09-22 3:21 ` chipang_kao 2026-09-22 19:54 ` Armin Wolf 0 siblings, 1 reply; 6+ messages in thread From: chipang_kao @ 2026-09-22 3:21 UTC (permalink / raw) To: hansg, ilpo.jarvinen, W_Armin Cc: corentin.chary, luke, denis.benato, scardracs, platform-driver-x86, linux-kernel, chipang_kao ASUS WMI and related platform drivers currently reside under drivers/platform/x86/. However, with ARM64 devices utilizing ACPI WMI interfaces, maintaining these drivers exclusively under x86 creates unnecessary architectural restrictions and Kconfig duplications. To allow ARM64 architectures to build and utilize ASUS WMI drivers cleanly: 1. Relocate all ASUS WMI-based drivers and headers from drivers/platform/x86/ to drivers/platform/wmi/asus/. 2. Create dedicated Kconfig and Makefile under drivers/platform/wmi/asus/ and source them in drivers/platform/wmi/Kconfig and Makefile. 3. Update drivers/platform/x86/Kconfig to remove duplicated entries and source the unified WMI-based ASUS configuration. No functional code logic changes are introduced in this patch; this is a pure code relocation and build infrastructure refactoring. Signed-off-by: chipang_kao <chipang_kao@asus.com> --- Changes in v3: - Refined the file relocation scope to target ONLY pure WMI-based platform drivers (asus-wmi, asus-nb-wmi, and asus-armoury). - Retained non-WMI x86 platform drivers (such as asus-laptop, asus-wireless, and asus-tf103c-dock) under drivers/platform/x86/. - Updated drivers/platform/wmi/asus/Kconfig and Makefile to only build and export the relocated WMI components. - Dropped patch 1/2 from the original series as CONFIG_ACPI_WMI dependency updates are handled by Armin's WMI refactoring series. Changes in v2: - Relocated ASUS platform drivers from drivers/platform/x86/ to drivers/platform/wmi/asus/ to eliminate Kconfig duplication and architectural restrictions for ARM64 platforms. - Updated MAINTAINERS file to reflect the new path. MAINTAINERS | 1 + drivers/platform/wmi/Kconfig | 1 + drivers/platform/wmi/Makefile | 1 + drivers/platform/wmi/asus/Kconfig | 64 +++++++++++++++++++ drivers/platform/wmi/asus/Makefile | 9 +++ .../platform/{x86 => wmi/asus}/asus-armoury.c | 0 .../platform/{x86 => wmi/asus}/asus-armoury.h | 0 .../platform/{x86 => wmi/asus}/asus-nb-wmi.c | 0 drivers/platform/{x86 => wmi/asus}/asus-wmi.c | 0 drivers/platform/{x86 => wmi/asus}/asus-wmi.h | 0 drivers/platform/x86/Kconfig | 58 ----------------- drivers/platform/x86/Makefile | 3 - 12 files changed, 76 insertions(+), 61 deletions(-) create mode 100644 drivers/platform/wmi/asus/Kconfig create mode 100644 drivers/platform/wmi/asus/Makefile rename drivers/platform/{x86 => wmi/asus}/asus-armoury.c (100%) rename drivers/platform/{x86 => wmi/asus}/asus-armoury.h (100%) rename drivers/platform/{x86 => wmi/asus}/asus-nb-wmi.c (100%) rename drivers/platform/{x86 => wmi/asus}/asus-wmi.c (100%) rename drivers/platform/{x86 => wmi/asus}/asus-wmi.h (100%) diff --git a/MAINTAINERS b/MAINTAINERS index cc3cae2e378b..2e4fa6812093 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -4124,6 +4124,7 @@ M: Denis Benato <denis.benato@linux.dev> L: platform-driver-x86@vger.kernel.org S: Maintained W: https://asus-linux.org/ +F: drivers/platform/wmi/asus/asus*.c F: drivers/platform/x86/asus*.c F: drivers/platform/x86/eeepc*.c diff --git a/drivers/platform/wmi/Kconfig b/drivers/platform/wmi/Kconfig index d62f51ff3b7f..acce8e9b7264 100644 --- a/drivers/platform/wmi/Kconfig +++ b/drivers/platform/wmi/Kconfig @@ -33,5 +33,6 @@ config ACPI_WMI_LEGACY_DEVICE_NAMES the same GUID to fail in some corner cases. source "drivers/platform/wmi/tests/Kconfig" +source "drivers/platform/wmi/asus/Kconfig" endif # ACPI_WMI diff --git a/drivers/platform/wmi/Makefile b/drivers/platform/wmi/Makefile index 2feff94a5594..305f4688324f 100644 --- a/drivers/platform/wmi/Makefile +++ b/drivers/platform/wmi/Makefile @@ -6,6 +6,7 @@ wmi-y := core.o marshalling.o string.o obj-$(CONFIG_ACPI_WMI) += wmi.o +obj-$(CONFIG_ASUS_WMI) += asus/ # Unit tests obj-y += tests/ diff --git a/drivers/platform/wmi/asus/Kconfig b/drivers/platform/wmi/asus/Kconfig new file mode 100644 index 000000000000..75b6dd45af66 --- /dev/null +++ b/drivers/platform/wmi/asus/Kconfig @@ -0,0 +1,64 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Asus Platform Specific Drivers +# + +config ASUS_ARMOURY + tristate "ASUS Armoury driver" + depends on ASUS_WMI + select FW_ATTR_CLASS + help + Say Y here if you have a WMI aware Asus machine and would like to use the + firmware_attributes API to control various settings typically exposed in + the ASUS Armoury Crate application available on Windows. + + To compile this driver as a module, choose M here: the module will + be called asus-armoury. + +config ASUS_WMI + tristate "ASUS WMI Driver" + depends on ACPI_WMI + depends on ACPI_BATTERY + depends on INPUT + depends on HWMON + depends on BACKLIGHT_CLASS_DEVICE + depends on RFKILL || RFKILL = n + depends on HOTPLUG_PCI + depends on ACPI_VIDEO || ACPI_VIDEO = n + depends on SERIO_I8042 || SERIO_I8042 = n + select INPUT_SPARSEKMAP + select LEDS_CLASS + select NEW_LEDS + select ACPI_PLATFORM_PROFILE + help + Say Y here if you have a WMI aware Asus laptop (like Eee PCs or new + Asus Notebooks). + + To compile this driver as a module, choose M here: the module will + be called asus-wmi. + +config ASUS_WMI_DEPRECATED_ATTRS + bool "BIOS option support in WMI platform (DEPRECATED)" + depends on ASUS_WMI + default y + help + Say Y to expose the configurable BIOS options through the asus-wmi + driver. + + This can be used with or without the asus-armoury driver which + has the same attributes, but more, and better features. + +config ASUS_NB_WMI + tristate "Asus Notebook WMI Driver" + depends on ASUS_WMI + help + This is a driver for newer Asus notebooks. It adds extra features + like wireless radio and bluetooth control, leds, hotkeys, backlight... + + For more information, see + <file:Documentation/ABI/testing/sysfs-platform-asus-wmi> + + If you have an ACPI-WMI compatible Asus Notebook, say Y or M + here. + + diff --git a/drivers/platform/wmi/asus/Makefile b/drivers/platform/wmi/asus/Makefile new file mode 100644 index 000000000000..8daa5ebff89f --- /dev/null +++ b/drivers/platform/wmi/asus/Makefile @@ -0,0 +1,9 @@ +# SPDX-License-Identifier: GPL-2.0 +# +# Makefile for linux/drivers/platform/wmi/asus +# Asus Platform-Specific Drivers +# + +obj-$(CONFIG_ASUS_ARMOURY) += asus-armoury.o +obj-$(CONFIG_ASUS_WMI) += asus-wmi.o +obj-$(CONFIG_ASUS_NB_WMI) += asus-nb-wmi.o diff --git a/drivers/platform/x86/asus-armoury.c b/drivers/platform/wmi/asus/asus-armoury.c similarity index 100% rename from drivers/platform/x86/asus-armoury.c rename to drivers/platform/wmi/asus/asus-armoury.c diff --git a/drivers/platform/x86/asus-armoury.h b/drivers/platform/wmi/asus/asus-armoury.h similarity index 100% rename from drivers/platform/x86/asus-armoury.h rename to drivers/platform/wmi/asus/asus-armoury.h diff --git a/drivers/platform/x86/asus-nb-wmi.c b/drivers/platform/wmi/asus/asus-nb-wmi.c similarity index 100% rename from drivers/platform/x86/asus-nb-wmi.c rename to drivers/platform/wmi/asus/asus-nb-wmi.c diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/wmi/asus/asus-wmi.c similarity index 100% rename from drivers/platform/x86/asus-wmi.c rename to drivers/platform/wmi/asus/asus-wmi.c diff --git a/drivers/platform/x86/asus-wmi.h b/drivers/platform/wmi/asus/asus-wmi.h similarity index 100% rename from drivers/platform/x86/asus-wmi.h rename to drivers/platform/wmi/asus/asus-wmi.h diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig index 957034f39e4e..68cf99de415d 100644 --- a/drivers/platform/x86/Kconfig +++ b/drivers/platform/x86/Kconfig @@ -253,64 +253,6 @@ config ASUS_WIRELESS If you choose to compile this driver as a module the module will be called asus-wireless. -config ASUS_ARMOURY - tristate "ASUS Armoury driver" - depends on ASUS_WMI - select FW_ATTR_CLASS - help - Say Y here if you have a WMI aware Asus machine and would like to use the - firmware_attributes API to control various settings typically exposed in - the ASUS Armoury Crate application available on Windows. - - To compile this driver as a module, choose M here: the module will - be called asus-armoury. - -config ASUS_WMI - tristate "ASUS WMI Driver" - depends on ACPI_WMI - depends on ACPI_BATTERY - depends on INPUT - depends on HWMON - depends on BACKLIGHT_CLASS_DEVICE - depends on RFKILL || RFKILL = n - depends on HOTPLUG_PCI - depends on ACPI_VIDEO || ACPI_VIDEO = n - depends on SERIO_I8042 || SERIO_I8042 = n - select INPUT_SPARSEKMAP - select LEDS_CLASS - select NEW_LEDS - select ACPI_PLATFORM_PROFILE - help - Say Y here if you have a WMI aware Asus laptop (like Eee PCs or new - Asus Notebooks). - - To compile this driver as a module, choose M here: the module will - be called asus-wmi. - -config ASUS_WMI_DEPRECATED_ATTRS - bool "BIOS option support in WMI platform (DEPRECATED)" - depends on ASUS_WMI - default y - help - Say Y to expose the configurable BIOS options through the asus-wmi - driver. - - This can be used with or without the asus-armoury driver which - has the same attributes, but more, and better features. - -config ASUS_NB_WMI - tristate "Asus Notebook WMI Driver" - depends on ASUS_WMI - help - This is a driver for newer Asus notebooks. It adds extra features - like wireless radio and bluetooth control, leds, hotkeys, backlight... - - For more information, see - <file:Documentation/ABI/testing/sysfs-platform-asus-wmi> - - If you have an ACPI-WMI compatible Asus Notebook, say Y or M - here. - config ASUS_TF103C_DOCK tristate "Asus TF103C 2-in-1 keyboard dock" depends on ACPI diff --git a/drivers/platform/x86/Makefile b/drivers/platform/x86/Makefile index 872ac3842391..0bacd55f2fce 100644 --- a/drivers/platform/x86/Makefile +++ b/drivers/platform/x86/Makefile @@ -33,9 +33,6 @@ obj-$(CONFIG_APPLE_GMUX) += apple-gmux.o # ASUS obj-$(CONFIG_ASUS_LAPTOP) += asus-laptop.o obj-$(CONFIG_ASUS_WIRELESS) += asus-wireless.o -obj-$(CONFIG_ASUS_ARMOURY) += asus-armoury.o -obj-$(CONFIG_ASUS_WMI) += asus-wmi.o -obj-$(CONFIG_ASUS_NB_WMI) += asus-nb-wmi.o obj-$(CONFIG_ASUS_TF103C_DOCK) += asus-tf103c-dock.o obj-$(CONFIG_EEEPC_LAPTOP) += eeepc-laptop.o obj-$(CONFIG_EEEPC_WMI) += eeepc-wmi.o -- 2.43.0 ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v3] platform/wmi: Move ASUS platform drivers from x86 to wmi/asus 2026-09-22 3:21 ` [PATCH v3] platform/wmi: Move ASUS platform drivers from x86 to wmi/asus chipang_kao @ 2026-09-22 19:54 ` Armin Wolf 0 siblings, 0 replies; 6+ messages in thread From: Armin Wolf @ 2026-09-22 19:54 UTC (permalink / raw) To: chipang_kao, hansg, ilpo.jarvinen Cc: corentin.chary, luke, denis.benato, scardracs, platform-driver-x86, linux-kernel, chipang_kao Am 22.09.26 um 05:21 schrieb chipang_kao: > ASUS WMI and related platform drivers currently reside under > drivers/platform/x86/. However, with ARM64 devices utilizing ACPI WMI > interfaces, maintaining these drivers exclusively under x86 creates > unnecessary architectural restrictions and Kconfig duplications. > > To allow ARM64 architectures to build and utilize ASUS WMI drivers > cleanly: > 1. Relocate all ASUS WMI-based drivers and headers from > drivers/platform/x86/ to drivers/platform/wmi/asus/. > 2. Create dedicated Kconfig and Makefile under > drivers/platform/wmi/asus/ and source them in > drivers/platform/wmi/Kconfig and Makefile. > 3. Update drivers/platform/x86/Kconfig to remove duplicated entries > and source the unified WMI-based ASUS configuration. > > No functional code logic changes are introduced in this patch; this is > a pure code relocation and build infrastructure refactoring. Hi, i am two minds about moving the Asus WMI drivers to drivers/platform/wmi/asus, because in my mind drivers/platform/wmi contains only code necessary for providing access to ACPI-WMI objects. AFAIK the Asus WMI drivers are client drivers using the WMI APIs to access WMI objects, not host drivers providing WMI objects. Maybe moving the drivers to drivers/platform/asus would be better? Thanks, Armin Wolf > Signed-off-by: chipang_kao <chipang_kao@asus.com> > --- > > Changes in v3: > - Refined the file relocation scope to target ONLY pure WMI-based > platform drivers (asus-wmi, asus-nb-wmi, and asus-armoury). > - Retained non-WMI x86 platform drivers (such as asus-laptop, > asus-wireless, and asus-tf103c-dock) under drivers/platform/x86/. > - Updated drivers/platform/wmi/asus/Kconfig and Makefile to only build > and export the relocated WMI components. > - Dropped patch 1/2 from the original series as CONFIG_ACPI_WMI > dependency updates are handled by Armin's WMI refactoring series. > > Changes in v2: > - Relocated ASUS platform drivers from drivers/platform/x86/ to > drivers/platform/wmi/asus/ to eliminate Kconfig duplication and > architectural restrictions for ARM64 platforms. > - Updated MAINTAINERS file to reflect the new path. > > MAINTAINERS | 1 + > drivers/platform/wmi/Kconfig | 1 + > drivers/platform/wmi/Makefile | 1 + > drivers/platform/wmi/asus/Kconfig | 64 +++++++++++++++++++ > drivers/platform/wmi/asus/Makefile | 9 +++ > .../platform/{x86 => wmi/asus}/asus-armoury.c | 0 > .../platform/{x86 => wmi/asus}/asus-armoury.h | 0 > .../platform/{x86 => wmi/asus}/asus-nb-wmi.c | 0 > drivers/platform/{x86 => wmi/asus}/asus-wmi.c | 0 > drivers/platform/{x86 => wmi/asus}/asus-wmi.h | 0 > drivers/platform/x86/Kconfig | 58 ----------------- > drivers/platform/x86/Makefile | 3 - > 12 files changed, 76 insertions(+), 61 deletions(-) > create mode 100644 drivers/platform/wmi/asus/Kconfig > create mode 100644 drivers/platform/wmi/asus/Makefile > rename drivers/platform/{x86 => wmi/asus}/asus-armoury.c (100%) > rename drivers/platform/{x86 => wmi/asus}/asus-armoury.h (100%) > rename drivers/platform/{x86 => wmi/asus}/asus-nb-wmi.c (100%) > rename drivers/platform/{x86 => wmi/asus}/asus-wmi.c (100%) > rename drivers/platform/{x86 => wmi/asus}/asus-wmi.h (100%) > > diff --git a/MAINTAINERS b/MAINTAINERS > index cc3cae2e378b..2e4fa6812093 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -4124,6 +4124,7 @@ M: Denis Benato <denis.benato@linux.dev> > L: platform-driver-x86@vger.kernel.org > S: Maintained > W: https://asus-linux.org/ > +F: drivers/platform/wmi/asus/asus*.c > F: drivers/platform/x86/asus*.c > F: drivers/platform/x86/eeepc*.c > > diff --git a/drivers/platform/wmi/Kconfig b/drivers/platform/wmi/Kconfig > index d62f51ff3b7f..acce8e9b7264 100644 > --- a/drivers/platform/wmi/Kconfig > +++ b/drivers/platform/wmi/Kconfig > @@ -33,5 +33,6 @@ config ACPI_WMI_LEGACY_DEVICE_NAMES > the same GUID to fail in some corner cases. > > source "drivers/platform/wmi/tests/Kconfig" > +source "drivers/platform/wmi/asus/Kconfig" > > endif # ACPI_WMI > diff --git a/drivers/platform/wmi/Makefile b/drivers/platform/wmi/Makefile > index 2feff94a5594..305f4688324f 100644 > --- a/drivers/platform/wmi/Makefile > +++ b/drivers/platform/wmi/Makefile > @@ -6,6 +6,7 @@ > > wmi-y := core.o marshalling.o string.o > obj-$(CONFIG_ACPI_WMI) += wmi.o > +obj-$(CONFIG_ASUS_WMI) += asus/ > > # Unit tests > obj-y += tests/ > diff --git a/drivers/platform/wmi/asus/Kconfig b/drivers/platform/wmi/asus/Kconfig > new file mode 100644 > index 000000000000..75b6dd45af66 > --- /dev/null > +++ b/drivers/platform/wmi/asus/Kconfig > @@ -0,0 +1,64 @@ > +# SPDX-License-Identifier: GPL-2.0-only > +# > +# Asus Platform Specific Drivers > +# > + > +config ASUS_ARMOURY > + tristate "ASUS Armoury driver" > + depends on ASUS_WMI > + select FW_ATTR_CLASS > + help > + Say Y here if you have a WMI aware Asus machine and would like to use the > + firmware_attributes API to control various settings typically exposed in > + the ASUS Armoury Crate application available on Windows. > + > + To compile this driver as a module, choose M here: the module will > + be called asus-armoury. > + > +config ASUS_WMI > + tristate "ASUS WMI Driver" > + depends on ACPI_WMI > + depends on ACPI_BATTERY > + depends on INPUT > + depends on HWMON > + depends on BACKLIGHT_CLASS_DEVICE > + depends on RFKILL || RFKILL = n > + depends on HOTPLUG_PCI > + depends on ACPI_VIDEO || ACPI_VIDEO = n > + depends on SERIO_I8042 || SERIO_I8042 = n > + select INPUT_SPARSEKMAP > + select LEDS_CLASS > + select NEW_LEDS > + select ACPI_PLATFORM_PROFILE > + help > + Say Y here if you have a WMI aware Asus laptop (like Eee PCs or new > + Asus Notebooks). > + > + To compile this driver as a module, choose M here: the module will > + be called asus-wmi. > + > +config ASUS_WMI_DEPRECATED_ATTRS > + bool "BIOS option support in WMI platform (DEPRECATED)" > + depends on ASUS_WMI > + default y > + help > + Say Y to expose the configurable BIOS options through the asus-wmi > + driver. > + > + This can be used with or without the asus-armoury driver which > + has the same attributes, but more, and better features. > + > +config ASUS_NB_WMI > + tristate "Asus Notebook WMI Driver" > + depends on ASUS_WMI > + help > + This is a driver for newer Asus notebooks. It adds extra features > + like wireless radio and bluetooth control, leds, hotkeys, backlight... > + > + For more information, see > + <file:Documentation/ABI/testing/sysfs-platform-asus-wmi> > + > + If you have an ACPI-WMI compatible Asus Notebook, say Y or M > + here. > + > + > diff --git a/drivers/platform/wmi/asus/Makefile b/drivers/platform/wmi/asus/Makefile > new file mode 100644 > index 000000000000..8daa5ebff89f > --- /dev/null > +++ b/drivers/platform/wmi/asus/Makefile > @@ -0,0 +1,9 @@ > +# SPDX-License-Identifier: GPL-2.0 > +# > +# Makefile for linux/drivers/platform/wmi/asus > +# Asus Platform-Specific Drivers > +# > + > +obj-$(CONFIG_ASUS_ARMOURY) += asus-armoury.o > +obj-$(CONFIG_ASUS_WMI) += asus-wmi.o > +obj-$(CONFIG_ASUS_NB_WMI) += asus-nb-wmi.o > diff --git a/drivers/platform/x86/asus-armoury.c b/drivers/platform/wmi/asus/asus-armoury.c > similarity index 100% > rename from drivers/platform/x86/asus-armoury.c > rename to drivers/platform/wmi/asus/asus-armoury.c > diff --git a/drivers/platform/x86/asus-armoury.h b/drivers/platform/wmi/asus/asus-armoury.h > similarity index 100% > rename from drivers/platform/x86/asus-armoury.h > rename to drivers/platform/wmi/asus/asus-armoury.h > diff --git a/drivers/platform/x86/asus-nb-wmi.c b/drivers/platform/wmi/asus/asus-nb-wmi.c > similarity index 100% > rename from drivers/platform/x86/asus-nb-wmi.c > rename to drivers/platform/wmi/asus/asus-nb-wmi.c > diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/wmi/asus/asus-wmi.c > similarity index 100% > rename from drivers/platform/x86/asus-wmi.c > rename to drivers/platform/wmi/asus/asus-wmi.c > diff --git a/drivers/platform/x86/asus-wmi.h b/drivers/platform/wmi/asus/asus-wmi.h > similarity index 100% > rename from drivers/platform/x86/asus-wmi.h > rename to drivers/platform/wmi/asus/asus-wmi.h > diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig > index 957034f39e4e..68cf99de415d 100644 > --- a/drivers/platform/x86/Kconfig > +++ b/drivers/platform/x86/Kconfig > @@ -253,64 +253,6 @@ config ASUS_WIRELESS > If you choose to compile this driver as a module the module will be > called asus-wireless. > > -config ASUS_ARMOURY > - tristate "ASUS Armoury driver" > - depends on ASUS_WMI > - select FW_ATTR_CLASS > - help > - Say Y here if you have a WMI aware Asus machine and would like to use the > - firmware_attributes API to control various settings typically exposed in > - the ASUS Armoury Crate application available on Windows. > - > - To compile this driver as a module, choose M here: the module will > - be called asus-armoury. > - > -config ASUS_WMI > - tristate "ASUS WMI Driver" > - depends on ACPI_WMI > - depends on ACPI_BATTERY > - depends on INPUT > - depends on HWMON > - depends on BACKLIGHT_CLASS_DEVICE > - depends on RFKILL || RFKILL = n > - depends on HOTPLUG_PCI > - depends on ACPI_VIDEO || ACPI_VIDEO = n > - depends on SERIO_I8042 || SERIO_I8042 = n > - select INPUT_SPARSEKMAP > - select LEDS_CLASS > - select NEW_LEDS > - select ACPI_PLATFORM_PROFILE > - help > - Say Y here if you have a WMI aware Asus laptop (like Eee PCs or new > - Asus Notebooks). > - > - To compile this driver as a module, choose M here: the module will > - be called asus-wmi. > - > -config ASUS_WMI_DEPRECATED_ATTRS > - bool "BIOS option support in WMI platform (DEPRECATED)" > - depends on ASUS_WMI > - default y > - help > - Say Y to expose the configurable BIOS options through the asus-wmi > - driver. > - > - This can be used with or without the asus-armoury driver which > - has the same attributes, but more, and better features. > - > -config ASUS_NB_WMI > - tristate "Asus Notebook WMI Driver" > - depends on ASUS_WMI > - help > - This is a driver for newer Asus notebooks. It adds extra features > - like wireless radio and bluetooth control, leds, hotkeys, backlight... > - > - For more information, see > - <file:Documentation/ABI/testing/sysfs-platform-asus-wmi> > - > - If you have an ACPI-WMI compatible Asus Notebook, say Y or M > - here. > - > config ASUS_TF103C_DOCK > tristate "Asus TF103C 2-in-1 keyboard dock" > depends on ACPI > diff --git a/drivers/platform/x86/Makefile b/drivers/platform/x86/Makefile > index 872ac3842391..0bacd55f2fce 100644 > --- a/drivers/platform/x86/Makefile > +++ b/drivers/platform/x86/Makefile > @@ -33,9 +33,6 @@ obj-$(CONFIG_APPLE_GMUX) += apple-gmux.o > # ASUS > obj-$(CONFIG_ASUS_LAPTOP) += asus-laptop.o > obj-$(CONFIG_ASUS_WIRELESS) += asus-wireless.o > -obj-$(CONFIG_ASUS_ARMOURY) += asus-armoury.o > -obj-$(CONFIG_ASUS_WMI) += asus-wmi.o > -obj-$(CONFIG_ASUS_NB_WMI) += asus-nb-wmi.o > obj-$(CONFIG_ASUS_TF103C_DOCK) += asus-tf103c-dock.o > obj-$(CONFIG_EEEPC_LAPTOP) += eeepc-laptop.o > obj-$(CONFIG_EEEPC_WMI) += eeepc-wmi.o ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2026-09-23 12:22 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <202609221954.123456@gmx.de>
2026-09-23 8:29 ` [PATCH v3] platform/wmi: Move ASUS platform drivers from x86 to wmi/asus chipang_kao
2026-09-23 8:42 ` Hans de Goede
2026-09-23 12:18 ` Denis Benato
2026-09-23 12:22 ` Denis Benato
2026-09-18 7:38 [PATCH 0/2] platform: Enable ACPI WMI and ASUS WMI driver for ARM64 Hans de Goede
2026-09-22 3:21 ` [PATCH v3] platform/wmi: Move ASUS platform drivers from x86 to wmi/asus chipang_kao
2026-09-22 19:54 ` Armin Wolf
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®