[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <7d0b6d80-4061-9eb5-5aa3-6a37bac3e2b1@linux.intel.com>
Date: Wed, 5 Nov 2025 11:41:34 +0200 (EET)
From: Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>
To: Armin Wolf <W_Armin@....de>
cc: viro@...iv.linux.org.uk, brauner@...nel.org,
Hans de Goede <hansg@...nel.org>, jack@...e.cz,
linux-fsdevel@...r.kernel.org, LKML <linux-kernel@...r.kernel.org>,
platform-driver-x86@...r.kernel.org
Subject: Re: [PATCH 4/4] platform/x86: wmi: Move WMI core code into a separate
directory
On Tue, 4 Nov 2025, Armin Wolf wrote:
> Move the WMI core code into a separate directory to prepare for
> future additions to the WMI driver.
>
> Signed-off-by: Armin Wolf <W_Armin@....de>
> ---
> 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} | 0
> 7 files changed, 46 insertions(+), 32 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} (100%)
>
> diff --git a/Documentation/driver-api/wmi.rst b/Documentation/driver-api/wmi.rst
> index 4e8dbdb1fc67..66f0dda153b0 100644
> --- a/Documentation/driver-api/wmi.rst
> +++ b/Documentation/driver-api/wmi.rst
> @@ -16,5 +16,5 @@ which will be bound to compatible WMI devices by the driver core.
> .. kernel-doc:: include/linux/wmi.h
> :internal:
>
> -.. kernel-doc:: drivers/platform/x86/wmi.c
> +.. kernel-doc:: drivers/platform/x86/wmi/core.c
> :export:
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 46126ce2f968..abc0ff6769a8 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -402,7 +402,7 @@ S: Maintained
> F: Documentation/ABI/testing/sysfs-bus-wmi
> F: Documentation/driver-api/wmi.rst
> F: Documentation/wmi/
> -F: drivers/platform/x86/wmi.c
> +F: drivers/platform/x86/wmi/
> F: include/uapi/linux/wmi.h
>
> ACRN HYPERVISOR SERVICE MODULE
> diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
> index 46e62feeda3c..ef59425580f3 100644
> --- a/drivers/platform/x86/Kconfig
> +++ b/drivers/platform/x86/Kconfig
> @@ -16,35 +16,7 @@ menuconfig X86_PLATFORM_DEVICES
>
> if X86_PLATFORM_DEVICES
>
> -config ACPI_WMI
> - tristate "WMI"
> - depends on ACPI
> - help
> - This driver adds support for the ACPI-WMI (Windows Management
> - Instrumentation) mapper device (PNP0C14) found on some systems.
> -
> - ACPI-WMI is a proprietary extension to ACPI to expose parts of the
> - ACPI firmware to userspace - this is done through various vendor
> - defined methods and data blocks in a PNP0C14 device, which are then
> - made available for userspace to call.
> -
> - The implementation of this in Linux currently only exposes this to
> - other kernel space drivers.
> -
> - This driver is a required dependency to build the firmware specific
> - drivers needed on many machines, including Acer and HP laptops.
> -
> - It is safe to enable this driver even if your DSDT doesn't define
> - any ACPI-WMI devices.
> -
> -config ACPI_WMI_LEGACY_DEVICE_NAMES
> - bool "Use legacy WMI device naming scheme"
> - depends on ACPI_WMI
> - help
> - Say Y here to force the WMI driver core to use the old WMI device naming
> - scheme when creating WMI devices. Doing so might be necessary for some
> - userspace applications but will cause the registration of WMI devices with
> - the same GUID to fail in some corner cases.
> +source "drivers/platform/x86/wmi/Kconfig"
>
> config WMI_BMOF
> tristate "WMI embedded Binary MOF driver"
> diff --git a/drivers/platform/x86/Makefile b/drivers/platform/x86/Makefile
> index c7db2a88c11a..c9f6e9275af8 100644
> --- a/drivers/platform/x86/Makefile
> +++ b/drivers/platform/x86/Makefile
> @@ -5,7 +5,7 @@
> #
>
> # Windows Management Interface
> -obj-$(CONFIG_ACPI_WMI) += wmi.o
> +obj-y += wmi/
Is there a good reason for the first part of the change?
That is, do you anticipate need for something outside of what this would
cover:
obj-$(CONFIG_ACPI_WMI) += wmi/
Other than that, this series looks fine.
--
i.
> obj-$(CONFIG_WMI_BMOF) += wmi-bmof.o
>
> # WMI drivers
> diff --git a/drivers/platform/x86/wmi/Kconfig b/drivers/platform/x86/wmi/Kconfig
> new file mode 100644
> index 000000000000..9e7c84876ef5
> --- /dev/null
> +++ b/drivers/platform/x86/wmi/Kconfig
> @@ -0,0 +1,34 @@
> +# SPDX-License-Identifier: GPL-2.0-only
> +#
> +# ACPI WMI Core
> +#
> +
> +config ACPI_WMI
> + tristate "WMI"
> + depends on ACPI
> + help
> + This driver adds support for the ACPI-WMI (Windows Management
> + Instrumentation) mapper device (PNP0C14) found on some systems.
> +
> + ACPI-WMI is a proprietary extension to ACPI to expose parts of the
> + ACPI firmware to userspace - this is done through various vendor
> + defined methods and data blocks in a PNP0C14 device, which are then
> + made available for userspace to call.
> +
> + The implementation of this in Linux currently only exposes this to
> + other kernel space drivers.
> +
> + This driver is a required dependency to build the firmware specific
> + drivers needed on many machines, including Acer and HP laptops.
> +
> + It is safe to enable this driver even if your DSDT doesn't define
> + any ACPI-WMI devices.
> +
> +config ACPI_WMI_LEGACY_DEVICE_NAMES
> + bool "Use legacy WMI device naming scheme"
> + depends on ACPI_WMI
> + help
> + Say Y here to force the WMI driver core to use the old WMI device naming
> + scheme when creating WMI devices. Doing so might be necessary for some
> + userspace applications but will cause the registration of WMI devices with
> + the same GUID to fail in some corner cases.
> diff --git a/drivers/platform/x86/wmi/Makefile b/drivers/platform/x86/wmi/Makefile
> new file mode 100644
> index 000000000000..71b702936b59
> --- /dev/null
> +++ b/drivers/platform/x86/wmi/Makefile
> @@ -0,0 +1,8 @@
> +# SPDX-License-Identifier: GPL-2.0
> +#
> +# Makefile for linux/drivers/platform/x86/wmi
> +# ACPI WMI core
> +#
> +
> +wmi-y := core.o
> +obj-$(CONFIG_ACPI_WMI) += wmi.o
> diff --git a/drivers/platform/x86/wmi.c b/drivers/platform/x86/wmi/core.c
> similarity index 100%
> rename from drivers/platform/x86/wmi.c
> rename to drivers/platform/x86/wmi/core.c
>
Powered by blists - more mailing lists