]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
platform/x86: wmi: Move WMI core code into a separate directory
authorArmin Wolf <W_Armin@gmx.de>
Tue, 11 Nov 2025 13:11:25 +0000 (14:11 +0100)
committerIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Tue, 18 Nov 2025 09:18:11 +0000 (11:18 +0200)
Move the WMI core code into a separate directory to prepare for
future additions to the WMI driver. Also update the description
of the Kconfig entry to better fit with the other subsystem
Kconfig entries.

Signed-off-by: Armin Wolf <W_Armin@gmx.de>
Link: https://patch.msgid.link/20251111131125.3379-5-W_Armin@gmx.de
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Documentation/driver-api/wmi.rst
MAINTAINERS
drivers/platform/Kconfig
drivers/platform/Makefile
drivers/platform/wmi/Kconfig [new file with mode: 0644]
drivers/platform/wmi/Makefile [new file with mode: 0644]
drivers/platform/wmi/core.c [moved from drivers/platform/x86/wmi.c with 100% similarity]
drivers/platform/x86/Kconfig
drivers/platform/x86/Makefile

index 4e8dbdb1fc6780090f6bd428ce02fcbfed4fde84..db835b43c9379d5ae8dd27d67f7523e6405dd1cf 100644 (file)
@@ -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/wmi/core.c
    :export:
index 290e5118d7614149a1fe41033fed73c6acd14b9b..b69e3293f7fd067f174eca07a7cbcf5e4d4d821c 100644 (file)
@@ -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/wmi/
 F:     include/uapi/linux/wmi.h
 
 ACRN HYPERVISOR SERVICE MODULE
index 960fd6a82450a4c7b97d51ea3bc29795ee74efd1..6bb645aed3d11ec191e6356573ee2cf6509c7005 100644 (file)
@@ -18,3 +18,5 @@ source "drivers/platform/surface/Kconfig"
 source "drivers/platform/x86/Kconfig"
 
 source "drivers/platform/arm64/Kconfig"
+
+source "drivers/platform/wmi/Kconfig"
index 19ac54648586eb617af0f8a69e3205bd83e8c35b..533f500dfcff428df559ca03ec4e5dc84598596f 100644 (file)
@@ -13,3 +13,4 @@ obj-$(CONFIG_CHROME_PLATFORMS)        += chrome/
 obj-$(CONFIG_CZNIC_PLATFORMS)  += cznic/
 obj-$(CONFIG_SURFACE_PLATFORMS)        += surface/
 obj-$(CONFIG_ARM64_PLATFORM_DEVICES)   += arm64/
+obj-$(CONFIG_ACPI_WMI)         += wmi/
diff --git a/drivers/platform/wmi/Kconfig b/drivers/platform/wmi/Kconfig
new file mode 100644 (file)
index 0000000..77fcbb1
--- /dev/null
@@ -0,0 +1,34 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+# ACPI WMI Core
+#
+
+menuconfig ACPI_WMI
+       tristate "ACPI-WMI support"
+       depends on ACPI && X86
+       help
+         This option enables support for the ACPI-WMI driver core.
+
+         The ACPI-WMI interface is a proprietary extension of ACPI allowing
+         the platform firmware to expose WMI (Windows Management Instrumentation)
+         objects used for managing various aspects of the underlying system.
+         Mapping between ACPI control methods and WMI objects happens through
+         special mapper devices (PNP0C14) defined inside the ACPI tables.
+
+         Enabling this option is necessary for building the vendor specific
+         ACPI-WMI client drivers for Acer, Dell an HP machines (among others).
+
+         It is safe to enable this option even for machines that do not contain
+         any ACPI-WMI mapper devices at all.
+
+if ACPI_WMI
+
+config ACPI_WMI_LEGACY_DEVICE_NAMES
+       bool "Use legacy WMI device naming scheme"
+       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.
+
+endif # ACPI_WMI
diff --git a/drivers/platform/wmi/Makefile b/drivers/platform/wmi/Makefile
new file mode 100644 (file)
index 0000000..98393d7
--- /dev/null
@@ -0,0 +1,8 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+# Makefile for linux/drivers/platform/wmi
+# ACPI WMI core
+#
+
+wmi-y                  := core.o
+obj-$(CONFIG_ACPI_WMI) += wmi.o
index 0a8025a167785eb8f2b972e7f5591e705a29ef38..245c5f5778f226e05e73cef68790a40226ff45e3 100644 (file)
@@ -16,36 +16,6 @@ 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.
-
 config WMI_BMOF
        tristate "WMI embedded Binary MOF driver"
        depends on ACPI_WMI
index d59a2ed5932c6b124a69faa47aeaf1e37a485410..ce3423749af5ce40a0e55f61f77713465e9a4192 100644 (file)
@@ -5,7 +5,6 @@
 #
 
 # Windows Management Interface
-obj-$(CONFIG_ACPI_WMI)         += wmi.o
 obj-$(CONFIG_WMI_BMOF)         += wmi-bmof.o
 
 # WMI drivers