mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 01:04:41 +01:00
WMI strings are encoded using UTF16-LE characters, forcing WMI drivers to manually convert them to/from standard UTF8 strings. Add a two helper functions for those tasks. Signed-off-by: Armin Wolf <W_Armin@gmx.de> Link: https://patch.msgid.link/20260116204116.4030-4-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>
23 lines
855 B
ReStructuredText
23 lines
855 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 sharing the same GUID.
|
|
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 the
|
|
same GUID. 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/wmi/string.c
|
|
:export:
|
|
|
|
.. kernel-doc:: drivers/platform/wmi/core.c
|
|
:export:
|