diff mbox series

[2/2] platform/x86: wmi: Add bus ABI documentation

Message ID 20240620194214.3071-3-W_Armin@gmx.de (mailing list archive)
State Changes Requested, archived
Headers show
Series platform/x86: wmi: Add driver_override support | expand

Commit Message

Armin Wolf June 20, 2024, 7:42 p.m. UTC
Add documentation for the WMI bus sysfs interface so userspace
applications can use it to access additional data about WMI devices.

Signed-off-by: Armin Wolf <W_Armin@gmx.de>
---
 Documentation/ABI/testing/sysfs-bus-wmi | 79 +++++++++++++++++++++++++
 MAINTAINERS                             |  1 +
 2 files changed, 80 insertions(+)
 create mode 100644 Documentation/ABI/testing/sysfs-bus-wmi

--
2.39.2

Comments

Ilpo Järvinen June 24, 2024, 2:07 p.m. UTC | #1
On Thu, 20 Jun 2024, Armin Wolf wrote:

> Add documentation for the WMI bus sysfs interface so userspace
> applications can use it to access additional data about WMI devices.
> 
> Signed-off-by: Armin Wolf <W_Armin@gmx.de>
> ---
>  Documentation/ABI/testing/sysfs-bus-wmi | 79 +++++++++++++++++++++++++
>  MAINTAINERS                             |  1 +
>  2 files changed, 80 insertions(+)
>  create mode 100644 Documentation/ABI/testing/sysfs-bus-wmi
> 
> diff --git a/Documentation/ABI/testing/sysfs-bus-wmi b/Documentation/ABI/testing/sysfs-bus-wmi
> new file mode 100644
> index 000000000000..496d602b67c6
> --- /dev/null
> +++ b/Documentation/ABI/testing/sysfs-bus-wmi
> @@ -0,0 +1,79 @@
> +What:		/sys/bus/wmi/devices/.../driver_override
> +Date:		February 2024
> +Contact:	Armin Wolf <W_Armin@gmx.de>
> +Description:
> +		This file allows the driver for a device to be specified which
> +		will override standard ID table matching.
> +		When specified, only a driver with a name matching the value
> +		written to driver_override will have an opportunity to bind
> +		to the device. The override is specified by writing a string
> +		to the driver_override file (echo wmi-event-dummy > \
> +		driver_override) and may be cleared with an empty string

I suggest replacing:

"and" -> ". The override"

> +		(echo > driver_override). This returns the device to standard

". This" -> which

to make the internal referencing crystal clear.

> +		matching rules binding. Writing to driver_override does not
> +		automatically unbind the device from its current driver or make
> +		any attempt to automatically load the specified driver. If no
> +		driver with a matching name is currently loaded in the kernel,
> +		the device will not bind to any driver. This also allows
> +		devices to opt-out of driver binding using a driver_override
> +		name such as "none". Only a single driver may be specified in
> +		the override, there is no support for parsing delimiters.
> +
> +What:		/sys/bus/wmi/devices/.../modalias
> +Date:		November 2015
> +Contact:	Andy Lutomirski <luto@kernel.org>
> +Description:
> +		This file contains the MODALIAS value emitted by uevent for a
> +		given WMI device.
> +
> +		Format: wmi:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX.
> +
> +What:		/sys/bus/wmi/devices/.../guid
> +Date:		November 2015
> +Contact:	Andy Lutomirski <luto@kernel.org>
> +Description:
> +		This file contains the GUID used to match WMI devices to
> +		compatible WMI drivers. This GUID is not necessarily unique
> +		inside a given machine, it is solely used to identify the
> +		interface exposed by a given WMI device.
> +
> +What:		/sys/bus/wmi/devices/.../object_id
> +Date:		November 2015
> +Contact:	Andy Lutomirski <luto@kernel.org>
> +Description:
> +		This file contains the WMI object ID used internally to construct
> +		the ACPI method names used by non-event WMI devices. It contains
> +		two ASCII letters.
> +
> +What:		/sys/bus/wmi/devices/.../notify_id
> +Date:		November 2015
> +Contact:	Andy Lutomirski <luto@kernel.org>
> +Description:
> +		This file contains the WMI notify ID used internally to map ACPI
> +		events to WMI event devices. It contains two ASCII letters.
> +
> +What:		/sys/bus/wmi/devices/.../instance_count
> +Date:		November 2015
> +Contact:	Andy Lutomirski <luto@kernel.org>
> +Description:
> +		This file contains the number of WMI object instances being
> +		present on a given WMI device. It contains a non-negative
> +		number.
> +
> +What:		/sys/bus/wmi/devices/.../expensive
> +Date:		November 2015
> +Contact:	Andy Lutomirski <luto@kernel.org>
> +Description:
> +		This file contains a boolean flag signaling if interacting with
> +		the given WMI device will consume significant CPU resources.
> +		The WMI driver core will take care of enabling/disabling such
> +		WMI devices.
> +
> +What:		/sys/bus/wmi/devices/.../setable
> +Date:		May 2017
> +Contact:	Darren Hart (VMware) <dvhart@infradead.org>
> +Description:
> +		This file contains a boolean flags signaling the data block
> +		aassociated with the given WMI device is writable. If the
> +		given WMI device is not associated with a data block, then
> +		this file will not exist.
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 09ff0dfd65cb..4f76d6a5d348 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -392,6 +392,7 @@ ACPI WMI DRIVER
>  M:	Armin Wolf <W_Armin@gmx.de>
>  L:	platform-driver-x86@vger.kernel.org
>  S:	Maintained
> +F:	Documentation/ABI/testing/sysfs-bus-wmi
>  F:	Documentation/driver-api/wmi.rst
>  F:	Documentation/wmi/
>  F:	drivers/platform/x86/wmi.c

Other than the this issue above, this looked fine,

Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
diff mbox series

Patch

diff --git a/Documentation/ABI/testing/sysfs-bus-wmi b/Documentation/ABI/testing/sysfs-bus-wmi
new file mode 100644
index 000000000000..496d602b67c6
--- /dev/null
+++ b/Documentation/ABI/testing/sysfs-bus-wmi
@@ -0,0 +1,79 @@ 
+What:		/sys/bus/wmi/devices/.../driver_override
+Date:		February 2024
+Contact:	Armin Wolf <W_Armin@gmx.de>
+Description:
+		This file allows the driver for a device to be specified which
+		will override standard ID table matching.
+		When specified, only a driver with a name matching the value
+		written to driver_override will have an opportunity to bind
+		to the device. The override is specified by writing a string
+		to the driver_override file (echo wmi-event-dummy > \
+		driver_override) and may be cleared with an empty string
+		(echo > driver_override). This returns the device to standard
+		matching rules binding. Writing to driver_override does not
+		automatically unbind the device from its current driver or make
+		any attempt to automatically load the specified driver. If no
+		driver with a matching name is currently loaded in the kernel,
+		the device will not bind to any driver. This also allows
+		devices to opt-out of driver binding using a driver_override
+		name such as "none". Only a single driver may be specified in
+		the override, there is no support for parsing delimiters.
+
+What:		/sys/bus/wmi/devices/.../modalias
+Date:		November 2015
+Contact:	Andy Lutomirski <luto@kernel.org>
+Description:
+		This file contains the MODALIAS value emitted by uevent for a
+		given WMI device.
+
+		Format: wmi:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX.
+
+What:		/sys/bus/wmi/devices/.../guid
+Date:		November 2015
+Contact:	Andy Lutomirski <luto@kernel.org>
+Description:
+		This file contains the GUID used to match WMI devices to
+		compatible WMI drivers. This GUID is not necessarily unique
+		inside a given machine, it is solely used to identify the
+		interface exposed by a given WMI device.
+
+What:		/sys/bus/wmi/devices/.../object_id
+Date:		November 2015
+Contact:	Andy Lutomirski <luto@kernel.org>
+Description:
+		This file contains the WMI object ID used internally to construct
+		the ACPI method names used by non-event WMI devices. It contains
+		two ASCII letters.
+
+What:		/sys/bus/wmi/devices/.../notify_id
+Date:		November 2015
+Contact:	Andy Lutomirski <luto@kernel.org>
+Description:
+		This file contains the WMI notify ID used internally to map ACPI
+		events to WMI event devices. It contains two ASCII letters.
+
+What:		/sys/bus/wmi/devices/.../instance_count
+Date:		November 2015
+Contact:	Andy Lutomirski <luto@kernel.org>
+Description:
+		This file contains the number of WMI object instances being
+		present on a given WMI device. It contains a non-negative
+		number.
+
+What:		/sys/bus/wmi/devices/.../expensive
+Date:		November 2015
+Contact:	Andy Lutomirski <luto@kernel.org>
+Description:
+		This file contains a boolean flag signaling if interacting with
+		the given WMI device will consume significant CPU resources.
+		The WMI driver core will take care of enabling/disabling such
+		WMI devices.
+
+What:		/sys/bus/wmi/devices/.../setable
+Date:		May 2017
+Contact:	Darren Hart (VMware) <dvhart@infradead.org>
+Description:
+		This file contains a boolean flags signaling the data block
+		aassociated with the given WMI device is writable. If the
+		given WMI device is not associated with a data block, then
+		this file will not exist.
diff --git a/MAINTAINERS b/MAINTAINERS
index 09ff0dfd65cb..4f76d6a5d348 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -392,6 +392,7 @@  ACPI WMI DRIVER
 M:	Armin Wolf <W_Armin@gmx.de>
 L:	platform-driver-x86@vger.kernel.org
 S:	Maintained
+F:	Documentation/ABI/testing/sysfs-bus-wmi
 F:	Documentation/driver-api/wmi.rst
 F:	Documentation/wmi/
 F:	drivers/platform/x86/wmi.c