22 lines
848 B
ReStructuredText
22 lines
848 B
ReStructuredText
|
.. SPDX-License-Identifier: GPL-2.0-or-later
|
||
|
|
||
|
==============
|
||
|
WMI Driver API
|
||
|
==============
|
||
|
|
||
|
The WMI driver core supports a more modern bus-based interface for interacting
|
||
|
with WMI devices, and an older GUID-based interface. The latter interface is
|
||
|
considered to be deprecated, so new WMI drivers should generally avoid it since
|
||
|
it has some issues with multiple WMI devices and events sharing the same GUIDs
|
||
|
and/or notification IDs. The modern bus-based interface instead maps each
|
||
|
WMI device to a :c:type:`struct wmi_device <wmi_device>`, so it supports
|
||
|
WMI devices sharing GUIDs and/or notification IDs. Drivers can then register
|
||
|
a :c:type:`struct wmi_driver <wmi_driver>`, 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
|
||
|
:export:
|