sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget"/translations/zh_CN/driver-api/wmimodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget"/translations/zh_TW/driver-api/wmimodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget"/translations/it_IT/driver-api/wmimodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget"/translations/ja_JP/driver-api/wmimodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget"/translations/ko_KR/driver-api/wmimodnameN classnameN refexplicituh1hhh ubh)}(hhh]hPortuguese (Brazilian)}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget"/translations/pt_BR/driver-api/wmimodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget"/translations/sp_SP/driver-api/wmimodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhcomment)}(h)SPDX-License-Identifier: GPL-2.0-or-laterh]h)SPDX-License-Identifier: GPL-2.0-or-later}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhh`, so it supports WMI devices sharing the same GUID. Drivers can then register a :c:type:`struct wmi_driver ` which will be bound to compatible WMI devices by the driver core.h](hXqThe 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 }(hhhhhNhNubh)}(h(:c:type:`struct wmi_device `h]hliteral)}(hhh]hstruct wmi_device}(hhhhhNhNubah}(h]h ](xrefcc-typeeh"]h$]h&]uh1hhhubah}(h]h ]h"]h$]h&]refdocdriver-api/wmi refdomainhreftypetype refexplicitrefwarn reftarget wmi_deviceuh1hhhhKhhubhP, so it supports WMI devices sharing the same GUID. Drivers can then register a }(hhhhhNhNubh)}(h(:c:type:`struct wmi_driver `h]h)}(hjh]hstruct wmi_driver}(hjhhhNhNubah}(h]h ](hhc-typeeh"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]refdocj refdomainhreftypetype refexplicitrefwarnj  wmi_driveruh1hhhhKhhubhB which will be bound to compatible WMI devices by the driver core.}(hhhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubhindex)}(hhh]h}(h]h ]h"]h$]h&]entries](singlewmi_device (C struct) c.wmi_devicehNtauh1j9hhhhhNhNubhdesc)}(hhh](hdesc_signature)}(h wmi_deviceh]hdesc_signature_line)}(hstruct wmi_deviceh](hdesc_sig_keyword)}(hstructh]hstruct}(hj]hhhNhNubah}(h]h ]kah"]h$]h&]uh1j[hjWhhhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhKubhdesc_sig_space)}(h h]h }(hjohhhNhNubah}(h]h ]wah"]h$]h&]uh1jmhjWhhhjlhKubh desc_name)}(h wmi_deviceh]h desc_sig_name)}(hjSh]h wmi_device}(hjhhhNhNubah}(h]h ]nah"]h$]h&]uh1jhjubah}(h]h ](sig-namedescnameeh"]h$]h&]hhuh1j~hjWhhhjlhKubeh}(h]h ]h"]h$]h&]hhƌ add_permalinkuh1jUsphinx_line_type declaratorhjQhhhjlhKubah}(h]jHah ](sig sig-objecteh"]h$]h&] is_multiline _toc_parts) _toc_namehuh1jOhjlhKhjLhhubh desc_content)}(hhh]h)}(hWMI device structureh]hWMI device structure}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhKhjhhubah}(h]h ]h"]h$]h&]uh1jhjLhhhjlhKubeh}(h]h ](hstructeh"]h$]h&]domainhobjtypejdesctypejnoindex noindexentrynocontentsentryuh1jJhhhhhNhNubh container)}(h**Definition**:: struct wmi_device { struct device dev; bool setable; }; **Members** ``dev`` Device associated with this WMI device ``setable`` True for devices implementing the Set Control Methodh](h)}(h**Definition**::h](hstrong)}(h**Definition**h]h Definition}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhKhjubh literal_block)}(h?struct wmi_device { struct device dev; bool setable; };h]h?struct wmi_device { struct device dev; bool setable; };}hjsbah}(h]h ]h"]h$]h&]hhuh1jhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhKhjubh)}(h **Members**h]j)}(hjh]hMembers}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhKhjubhdefinition_list)}(hhh](hdefinition_list_item)}(h/``dev`` Device associated with this WMI device h](hterm)}(h``dev``h]h)}(hj4h]hdev}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2ubah}(h]h ]h"]h$]h&]uh1j0hR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhKhj,ubh definition)}(hhh]h)}(h&Device associated with this WMI deviceh]h&Device associated with this WMI device}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjIhKhjLubah}(h]h ]h"]h$]h&]uh1jJhj,ubeh}(h]h ]h"]h$]h&]uh1j*hjIhKhj'ubj+)}(h@``setable`` True for devices implementing the Set Control Methodh](j1)}(h ``setable``h]h)}(hjoh]hsetable}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjmubah}(h]h ]h"]h$]h&]uh1j0hR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhKhjiubjK)}(hhh]h)}(h4True for devices implementing the Set Control Methodh]h4True for devices implementing the Set Control Method}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhKhjubah}(h]h ]h"]h$]h&]uh1jJhjiubeh}(h]h ]h"]h$]h&]uh1j*hjhKhj'ubeh}(h]h ]h"]h$]h&]uh1j%hjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhhhhhNhNubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhKhhhhubh)}(h>This represents WMI devices discovered by the WMI driver core.h]h>This represents WMI devices discovered by the WMI driver core.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhKhhhhubj:)}(hhh]h}(h]h ]h"]h$]h&]entries](jFto_wmi_device (C macro)c.to_wmi_devicehNtauh1j9hhhhhNhNubjK)}(hhh](jP)}(h to_wmi_deviceh]jV)}(h to_wmi_deviceh]j)}(h to_wmi_deviceh]j)}(hjh]h to_wmi_device}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]hhuh1j~hjhhhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhKubah}(h]h ]h"]h$]h&]hhjuh1jUjjhjhhhjhKubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jOhjhKhjhhubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjhhhjhKubeh}(h]h ](hmacroeh"]h$]h&]jhjj jj jjjuh1jJhhhhhNhNubh)}(h``to_wmi_device (device)``h]h)}(hj&h]hto_wmi_device (device)}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj$ubah}(h]h ]h"]h$]h&]uh1hhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhK hhhhubh block_quote)}(h.Helper macro to cast a device to a wmi_device h]h)}(h-Helper macro to cast a device to a wmi_deviceh]h-Helper macro to cast a device to a wmi_device}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhKhj>ubah}(h]h ]h"]h$]h&]uh1j<hjPhKhhhhubj)}(hi**Parameters** ``device`` device struct **Description** Cast a struct device to a struct wmi_device.h](h)}(h**Parameters**h]j)}(hj]h]h Parameters}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj[ubah}(h]h ]h"]h$]h&]uh1hhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhK"hjWubj&)}(hhh]j+)}(h``device`` device struct h](j1)}(h ``device``h]h)}(hj|h]hdevice}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjzubah}(h]h ]h"]h$]h&]uh1j0hR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhKhjvubjK)}(hhh]h)}(h device structh]h device struct}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jJhjvubeh}(h]h ]h"]h$]h&]uh1j*hjhKhjsubah}(h]h ]h"]h$]h&]uh1j%hjWubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhK!hjWubh)}(h,Cast a struct device to a struct wmi_device.h]h,Cast a struct device to a struct wmi_device.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhK hjWubeh}(h]h ] kernelindentah"]h$]h&]uh1jhhhhhNhNubj:)}(hhh]h}(h]h ]h"]h$]h&]entries](jFwmi_buffer (C struct) c.wmi_bufferhNtauh1j9hhhhhNhNubjK)}(hhh](jP)}(h wmi_bufferh]jV)}(hstruct wmi_bufferh](j\)}(hj_h]hstruct}(hjhhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hjhhhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhK%ubjn)}(h h]h }(hj hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhjhhhj hK%ubj)}(h wmi_bufferh]j)}(hjh]h wmi_buffer}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]hhuh1j~hjhhhj hK%ubeh}(h]h ]h"]h$]h&]hhjuh1jUjjhjhhhj hK%ubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jOhj hK%hjhhubj)}(hhh]h)}(hWMI data bufferh]hWMI data buffer}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhK&hj;hhubah}(h]h ]h"]h$]h&]uh1jhjhhhj hK%ubeh}(h]h ](hstructeh"]h$]h&]jhjjVjjVjjjuh1jJhhhhhNhNubj)}(h**Definition**:: struct wmi_buffer { size_t length; void *data; }; **Members** ``length`` Buffer length in bytes ``data`` Pointer to the buffer contenth](h)}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj^ubh:}(hj^hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhK*hjZubj)}(h9struct wmi_buffer { size_t length; void *data; };h]h9struct wmi_buffer { size_t length; void *data; };}hj{sbah}(h]h ]h"]h$]h&]hhuh1jhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhK,hjZubh)}(h **Members**h]j)}(hjh]hMembers}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhK1hjZubj&)}(hhh](j+)}(h"``length`` Buffer length in bytes h](j1)}(h ``length``h]h)}(hjh]hlength}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j0hR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhK(hjubjK)}(hhh]h)}(hBuffer length in bytesh]hBuffer length in bytes}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK(hjubah}(h]h ]h"]h$]h&]uh1jJhjubeh}(h]h ]h"]h$]h&]uh1j*hjhK(hjubj+)}(h&``data`` Pointer to the buffer contenth](j1)}(h``data``h]h)}(hjh]hdata}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j0hR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhK(hjubjK)}(hhh]h)}(hPointer to the buffer contenth]hPointer to the buffer content}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhK)hjubah}(h]h ]h"]h$]h&]uh1jJhjubeh}(h]h ]h"]h$]h&]uh1j*hjhK(hjubeh}(h]h ]h"]h$]h&]uh1j%hjZubeh}(h]h ] kernelindentah"]h$]h&]uh1jhhhhhNhNubh)}(h**Description**h]j)}(hj'h]h Description}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj%ubah}(h]h ]h"]h$]h&]uh1hhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhK,hhhhubh)}(hAThis structure is used to exchange data with the WMI driver core.h]hAThis structure is used to exchange data with the WMI driver core.}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhK)hhhhubj:)}(hhh]h}(h]h ]h"]h$]h&]entries](jFwmi_string (C struct) c.wmi_stringhNtauh1j9hhhhhNhNubjK)}(hhh](jP)}(h wmi_stringh]jV)}(hstruct wmi_stringh](j\)}(hj_h]hstruct}(hjehhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hjahhhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhK.ubjn)}(h h]h }(hjshhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhjahhhjrhK.ubj)}(h wmi_stringh]j)}(hj_h]h wmi_string}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]hhuh1j~hjahhhjrhK.ubeh}(h]h ]h"]h$]h&]hhjuh1jUjjhj]hhhjrhK.ubah}(h]jXah ](jjeh"]h$]h&]jj)jhuh1jOhjrhK.hjZhhubj)}(hhh]h)}(hWMI string representationh]hWMI string representation}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhK2hjhhubah}(h]h ]h"]h$]h&]uh1jhjZhhhjrhK.ubeh}(h]h ](hstructeh"]h$]h&]jhjjjjjjjuh1jJhhhhhNhNubj)}(h**Definition**:: struct wmi_string { __le16 length; __le16 chars[]; }; **Members** ``length`` Size of **chars** in bytes ``chars`` UTF16-LE characters with optional nul termination and paddingh](h)}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhK6hjubj)}(h=struct wmi_string { __le16 length; __le16 chars[]; };h]h=struct wmi_string { __le16 length; __le16 chars[]; };}hjsbah}(h]h ]h"]h$]h&]hhuh1jhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhK8hjubh)}(h **Members**h]j)}(hjh]hMembers}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhK=hjubj&)}(hhh](j+)}(h&``length`` Size of **chars** in bytes h](j1)}(h ``length``h]h)}(hjh]hlength}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j0hR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhK4hjubjK)}(hhh]h)}(hSize of **chars** in bytesh](hSize of }(hj-hhhNhNubj)}(h **chars**h]hchars}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj-ubh in bytes}(hj-hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhj)hK4hj*ubah}(h]h ]h"]h$]h&]uh1jJhjubeh}(h]h ]h"]h$]h&]uh1j*hj)hK4hj ubj+)}(hG``chars`` UTF16-LE characters with optional nul termination and paddingh](j1)}(h ``chars``h]h)}(hj_h]hchars}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1hhj]ubah}(h]h ]h"]h$]h&]uh1j0hR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhK4hjYubjK)}(hhh]h)}(h=UTF16-LE characters with optional nul termination and paddingh]h=UTF16-LE characters with optional nul termination and padding}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhK5hjuubah}(h]h ]h"]h$]h&]uh1jJhjYubeh}(h]h ]h"]h$]h&]uh1j*hjthK4hj ubeh}(h]h ]h"]h$]h&]uh1j%hjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhhhhhNhNubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhK8hhhhubh)}(hJThis structure is used when exchanging string data over the WMI interface.h]hJThis structure is used when exchanging string data over the WMI interface.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhK5hhhhubj:)}(hhh]h}(h]h ]h"]h$]h&]entries](jFwmi_driver (C struct) c.wmi_driverhNtauh1j9hhhhhNhNubjK)}(hhh](jP)}(h wmi_driverh]jV)}(hstruct wmi_driverh](j\)}(hj_h]hstruct}(hjhhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hjhhhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhK:ubjn)}(h h]h }(hjhhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhjhhhjhK:ubj)}(h wmi_driverh]j)}(hjh]h wmi_driver}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]hhuh1j~hjhhhjhK:ubeh}(h]h ]h"]h$]h&]hhjuh1jUjjhjhhhjhK:ubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jOhjhK:hjhhubj)}(hhh]h)}(hWMI driver structureh]hWMI driver structure}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhKWhjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhK:ubeh}(h]h ](hstructeh"]h$]h&]jhjj:jj:jjjuh1jJhhhhhNhNubj)}(hX**Definition**:: struct wmi_driver { struct device_driver driver; const struct wmi_device_id *id_table; size_t min_event_size; bool no_singleton; int (*probe)(struct wmi_device *wdev, const void *context); void (*remove)(struct wmi_device *wdev); void (*shutdown)(struct wmi_device *wdev); void (*notify)(struct wmi_device *device, union acpi_object *data); void (*notify_new)(struct wmi_device *device, const struct wmi_buffer *data); }; **Members** ``driver`` Driver model structure ``id_table`` List of WMI GUIDs supported by this driver ``min_event_size`` Minimum event payload size supported by this driver ``no_singleton`` Driver can be instantiated multiple times ``probe`` Callback for device binding ``remove`` Callback for device unbinding ``shutdown`` Callback for device shutdown ``notify`` Callback for receiving WMI events (deprecated) ``notify_new`` Callback for receiving WMI eventsh](h)}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjBubh:}(hjBhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhK[hj>ubj)}(hXstruct wmi_driver { struct device_driver driver; const struct wmi_device_id *id_table; size_t min_event_size; bool no_singleton; int (*probe)(struct wmi_device *wdev, const void *context); void (*remove)(struct wmi_device *wdev); void (*shutdown)(struct wmi_device *wdev); void (*notify)(struct wmi_device *device, union acpi_object *data); void (*notify_new)(struct wmi_device *device, const struct wmi_buffer *data); };h]hXstruct wmi_driver { struct device_driver driver; const struct wmi_device_id *id_table; size_t min_event_size; bool no_singleton; int (*probe)(struct wmi_device *wdev, const void *context); void (*remove)(struct wmi_device *wdev); void (*shutdown)(struct wmi_device *wdev); void (*notify)(struct wmi_device *device, union acpi_object *data); void (*notify_new)(struct wmi_device *device, const struct wmi_buffer *data); };}hj_sbah}(h]h ]h"]h$]h&]hhuh1jhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhK]hj>ubh)}(h **Members**h]j)}(hjph]hMembers}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjnubah}(h]h ]h"]h$]h&]uh1hhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhKihj>ubj&)}(hhh](j+)}(h"``driver`` Driver model structure h](j1)}(h ``driver``h]h)}(hjh]hdriver}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j0hR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhKYhjubjK)}(hhh]h)}(hDriver model structureh]hDriver model structure}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKYhjubah}(h]h ]h"]h$]h&]uh1jJhjubeh}(h]h ]h"]h$]h&]uh1j*hjhKYhjubj+)}(h8``id_table`` List of WMI GUIDs supported by this driver h](j1)}(h ``id_table``h]h)}(hjh]hid_table}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j0hR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhKZhjubjK)}(hhh]h)}(h*List of WMI GUIDs supported by this driverh]h*List of WMI GUIDs supported by this driver}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKZhjubah}(h]h ]h"]h$]h&]uh1jJhjubeh}(h]h ]h"]h$]h&]uh1j*hjhKZhjubj+)}(hG``min_event_size`` Minimum event payload size supported by this driver h](j1)}(h``min_event_size``h]h)}(hjh]hmin_event_size}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j0hR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhK[hjubjK)}(hhh]h)}(h3Minimum event payload size supported by this driverh]h3Minimum event payload size supported by this driver}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK[hjubah}(h]h ]h"]h$]h&]uh1jJhjubeh}(h]h ]h"]h$]h&]uh1j*hjhK[hjubj+)}(h;``no_singleton`` Driver can be instantiated multiple times h](j1)}(h``no_singleton``h]h)}(hj:h]h no_singleton}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj8ubah}(h]h ]h"]h$]h&]uh1j0hR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhK\hj4ubjK)}(hhh]h)}(h)Driver can be instantiated multiple timesh]h)Driver can be instantiated multiple times}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhjOhK\hjPubah}(h]h ]h"]h$]h&]uh1jJhj4ubeh}(h]h ]h"]h$]h&]uh1j*hjOhK\hjubj+)}(h&``probe`` Callback for device binding h](j1)}(h ``probe``h]h)}(hjsh]hprobe}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjqubah}(h]h ]h"]h$]h&]uh1j0hR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhK]hjmubjK)}(hhh]h)}(hCallback for device bindingh]hCallback for device binding}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK]hjubah}(h]h ]h"]h$]h&]uh1jJhjmubeh}(h]h ]h"]h$]h&]uh1j*hjhK]hjubj+)}(h)``remove`` Callback for device unbinding h](j1)}(h ``remove``h]h)}(hjh]hremove}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j0hR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhK^hjubjK)}(hhh]h)}(hCallback for device unbindingh]hCallback for device unbinding}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK^hjubah}(h]h ]h"]h$]h&]uh1jJhjubeh}(h]h ]h"]h$]h&]uh1j*hjhK^hjubj+)}(h*``shutdown`` Callback for device shutdown h](j1)}(h ``shutdown``h]h)}(hjh]hshutdown}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j0hR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhK_hjubjK)}(hhh]h)}(hCallback for device shutdownh]hCallback for device shutdown}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK_hjubah}(h]h ]h"]h$]h&]uh1jJhjubeh}(h]h ]h"]h$]h&]uh1j*hjhK_hjubj+)}(h:``notify`` Callback for receiving WMI events (deprecated) h](j1)}(h ``notify``h]h)}(hj h]hnotify}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1j0hR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhK`hj ubjK)}(hhh]h)}(h.Callback for receiving WMI events (deprecated)h]h.Callback for receiving WMI events (deprecated)}(hj7 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj3 hK`hj4 ubah}(h]h ]h"]h$]h&]uh1jJhj ubeh}(h]h ]h"]h$]h&]uh1j*hj3 hK`hjubj+)}(h0``notify_new`` Callback for receiving WMI eventsh](j1)}(h``notify_new``h]h)}(hjW h]h notify_new}(hjY hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjU ubah}(h]h ]h"]h$]h&]uh1j0hR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhK`hjQ ubjK)}(hhh]h)}(h!Callback for receiving WMI eventsh]h!Callback for receiving WMI events}(hjp hhhNhNubah}(h]h ]h"]h$]h&]uh1hhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhKahjm ubah}(h]h ]h"]h$]h&]uh1jJhjQ ubeh}(h]h ]h"]h$]h&]uh1j*hjl hK`hjubeh}(h]h ]h"]h$]h&]uh1j%hj>ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhhhhhNhNubh)}(h**Description**h]j)}(hj h]h Description}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhKdhhhhubh)}(hXThis represents WMI drivers which handle WMI devices. The data inside the buffer passed to the **notify_new** callback is guaranteed to be aligned on a 8-byte boundary. The minimum supported size for said buffer can be specified using **min_event_size**. WMI drivers that still use the deprecated **notify** callback can still set **min_event_size** to 0 in order to signal that they support WMI events which provide no event data.h](h_This represents WMI drivers which handle WMI devices. The data inside the buffer passed to the }(hj hhhNhNubj)}(h**notify_new**h]h notify_new}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh~ callback is guaranteed to be aligned on a 8-byte boundary. The minimum supported size for said buffer can be specified using }(hj hhhNhNubj)}(h**min_event_size**h]hmin_event_size}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh,. WMI drivers that still use the deprecated }(hj hhhNhNubj)}(h **notify**h]hnotify}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh callback can still set }(hj hhhNhNubj)}(h**min_event_size**h]hmin_event_size}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubhR to 0 in order to signal that they support WMI events which provide no event data.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhKahhhhubj:)}(hhh]h}(h]h ]h"]h$]h&]entries](jFto_wmi_driver (C macro)c.to_wmi_driverhNtauh1j9hhhhhNhNubjK)}(hhh](jP)}(h to_wmi_driverh]jV)}(h to_wmi_driverh]j)}(h to_wmi_driverh]j)}(hj h]h to_wmi_driver}(hj$ hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubah}(h]h ](jjeh"]h$]h&]hhuh1j~hj hhhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhKvubah}(h]h ]h"]h$]h&]hhjuh1jUjjhj hhhj7 hKvubah}(h]j ah ](jjeh"]h$]h&]jj)jhuh1jOhj7 hKvhj hhubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj hhhj7 hKvubeh}(h]h ](hmacroeh"]h$]h&]jhjjP jjP jjjuh1jJhhhhhNhNubh)}(h``to_wmi_driver (drv)``h]h)}(hjV h]hto_wmi_driver (drv)}(hjX hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjT ubah}(h]h ]h"]h$]h&]uh1hhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhKxhhhhubj=)}(h.Helper macro to cast a driver to a wmi_driver h]h)}(h-Helper macro to cast a driver to a wmi_driverh]h-Helper macro to cast a driver to a wmi_driver}(hjp hhhNhNubah}(h]h ]h"]h$]h&]uh1hhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhKvhjl ubah}(h]h ]h"]h$]h&]uh1j<hj~ hKvhhhhubj)}(hm**Parameters** ``drv`` driver struct **Description** Cast a struct device_driver to a struct wmi_driver.h](h)}(h**Parameters**h]j)}(hj h]h Parameters}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhKzhj ubj&)}(hhh]j+)}(h``drv`` driver struct h](j1)}(h``drv``h]h)}(hj h]hdrv}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1j0hR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhKwhj ubjK)}(hhh]h)}(h driver structh]h driver struct}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hKwhj ubah}(h]h ]h"]h$]h&]uh1jJhj ubeh}(h]h ]h"]h$]h&]uh1j*hj hKwhj ubah}(h]h ]h"]h$]h&]uh1j%hj ubh)}(h**Description**h]j)}(hj h]h Description}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhKyhj ubh)}(h3Cast a struct device_driver to a struct wmi_driver.h]h3Cast a struct device_driver to a struct wmi_driver.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhKxhj ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhhhhhNhNubj:)}(hhh]h}(h]h ]h"]h$]h&]entries](jFwmi_driver_register (C macro)c.wmi_driver_registerhNtauh1j9hhhhhNhNubjK)}(hhh](jP)}(hwmi_driver_registerh]jV)}(hwmi_driver_registerh]j)}(hwmi_driver_registerh]j)}(hj$ h]hwmi_driver_register}(hj. hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj* ubah}(h]h ](jjeh"]h$]h&]hhuh1j~hj& hhhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhKubah}(h]h ]h"]h$]h&]hhjuh1jUjjhj" hhhjA hKubah}(h]j ah ](jjeh"]h$]h&]jj)jhuh1jOhjA hKhj hhubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj hhhjA hKubeh}(h]h ](hmacroeh"]h$]h&]jhjjZ jjZ jjjuh1jJhhhhhNhNubh)}(h ``wmi_driver_register (driver)``h]h)}(hj` h]hwmi_driver_register (driver)}(hjb hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj^ ubah}(h]h ]h"]h$]h&]uh1hhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhKhhhhubj=)}(h&Helper macro to register a WMI driver h]h)}(h%Helper macro to register a WMI driverh]h%Helper macro to register a WMI driver}(hjz hhhNhNubah}(h]h ]h"]h$]h&]uh1hhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhKhjv ubah}(h]h ]h"]h$]h&]uh1j<hj hKhhhhubj)}(h**Parameters** ``driver`` wmi_driver struct **Description** Helper macro for registering a WMI driver. It automatically passes THIS_MODULE to the underlying function.h](h)}(h**Parameters**h]j)}(hj h]h Parameters}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhKhj ubj&)}(hhh]j+)}(h``driver`` wmi_driver struct h](j1)}(h ``driver``h]h)}(hj h]hdriver}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1j0hR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhKhj ubjK)}(hhh]h)}(hwmi_driver structh]hwmi_driver struct}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hKhj ubah}(h]h ]h"]h$]h&]uh1jJhj ubeh}(h]h ]h"]h$]h&]uh1j*hj hKhj ubah}(h]h ]h"]h$]h&]uh1j%hj ubh)}(h**Description**h]j)}(hj h]h Description}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhKhj ubh)}(hjHelper macro for registering a WMI driver. It automatically passes THIS_MODULE to the underlying function.h]hjHelper macro for registering a WMI driver. It automatically passes THIS_MODULE to the underlying function.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhKhj ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhhhhhNhNubj:)}(hhh]h}(h]h ]h"]h$]h&]entries](jFmodule_wmi_driver (C macro)c.module_wmi_driverhNtauh1j9hhhhhNhNubjK)}(hhh](jP)}(hmodule_wmi_driverh]jV)}(hmodule_wmi_driverh]j)}(hmodule_wmi_driverh]j)}(hj. h]hmodule_wmi_driver}(hj8 hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj4 ubah}(h]h ](jjeh"]h$]h&]hhuh1j~hj0 hhhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhKubah}(h]h ]h"]h$]h&]hhjuh1jUjjhj, hhhjK hKubah}(h]j' ah ](jjeh"]h$]h&]jj)jhuh1jOhjK hKhj) hhubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj) hhhjK hKubeh}(h]h ](hmacroeh"]h$]h&]jhjjd jjd jjjuh1jJhhhhhNhNubh)}(h$``module_wmi_driver (__wmi_driver)``h]h)}(hjj h]h module_wmi_driver (__wmi_driver)}(hjl hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjh ubah}(h]h ]h"]h$]h&]uh1hhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhKhhhhubj=)}(h1Helper macro to register/unregister a WMI driver h]h)}(h0Helper macro to register/unregister a WMI driverh]h0Helper macro to register/unregister a WMI driver}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhKhj ubah}(h]h ]h"]h$]h&]uh1j<hj hKhhhhubj)}(hX"**Parameters** ``__wmi_driver`` wmi_driver struct **Description** Helper macro for WMI drivers which do not do anything special in module init/exit. This eliminates a lot of boilerplate. Each module may only use this macro once, and calling it replaces module_init() and module_exit().h](h)}(h**Parameters**h]j)}(hj h]h Parameters}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhKhj ubj&)}(hhh]j+)}(h#``__wmi_driver`` wmi_driver struct h](j1)}(h``__wmi_driver``h]h)}(hj h]h __wmi_driver}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1j0hR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhKhj ubjK)}(hhh]h)}(hwmi_driver structh]hwmi_driver struct}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hKhj ubah}(h]h ]h"]h$]h&]uh1jJhj ubeh}(h]h ]h"]h$]h&]uh1j*hj hKhj ubah}(h]h ]h"]h$]h&]uh1j%hj ubh)}(h**Description**h]j)}(hj h]h Description}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhKhj ubh)}(hHelper macro for WMI drivers which do not do anything special in module init/exit. This eliminates a lot of boilerplate. Each module may only use this macro once, and calling it replaces module_init() and module_exit().h]hHelper macro for WMI drivers which do not do anything special in module init/exit. This eliminates a lot of boilerplate. Each module may only use this macro once, and calling it replaces module_init() and module_exit().}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhR/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:16: ./include/linux/wmi.hhKhj ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhhhhhNhNubj:)}(hhh]h}(h]h ]h"]h$]h&]entries](jF wmi_string_to_utf8s (C function)c.wmi_string_to_utf8shNtauh1j9hhhhhNhNubjK)}(hhh](jP)}(hRssize_t wmi_string_to_utf8s (const struct wmi_string *str, u8 *dst, size_t length)h]jV)}(hQssize_t wmi_string_to_utf8s(const struct wmi_string *str, u8 *dst, size_t length)h](h)}(hhh]j)}(hssize_th]hssize_t}(hjA hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj> ubah}(h]h ]h"]h$]h&] refdomainhreftype identifier reftargetjC modnameN classnameN c:parent_keysphinx.domains.c LookupKey)}data]j\ ASTIdentifier)}jW wmi_string_to_utf8ssbc.wmi_string_to_utf8sasbuh1hhj: hhh\/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:19: ./drivers/platform/wmi/string.chKubjn)}(h h]h }(hjk hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj: hhhjj hKubj)}(hwmi_string_to_utf8sh]j)}(hjg h]hwmi_string_to_utf8s}(hj} hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjy ubah}(h]h ](jjeh"]h$]h&]hhuh1j~hj: hhhjj hKubhdesc_parameterlist)}(h6(const struct wmi_string *str, u8 *dst, size_t length)h](hdesc_parameter)}(hconst struct wmi_string *strh](j\)}(hconsth]hconst}(hj hhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hj ubjn)}(h h]h }(hj hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj ubj\)}(hj_h]hstruct}(hj hhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hj ubjn)}(h h]h }(hj hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj ubh)}(hhh]j)}(h wmi_stringh]h wmi_string}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetj modnameN classnameNj[ j^ )}ja ]je c.wmi_string_to_utf8sasbuh1hhj ubjn)}(h h]h }(hj hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj ubhdesc_sig_punctuation)}(h*h]h*}(hjhhhNhNubah}(h]h ]pah"]h$]h&]uh1jhj ubj)}(hstrh]hstr}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]noemphhhuh1j hj ubj )}(hu8 *dsth](h)}(hhh]j)}(hu8h]hu8}(hj/hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj,ubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetj1modnameN classnameNj[ j^ )}ja ]je c.wmi_string_to_utf8sasbuh1hhj(ubjn)}(h h]h }(hjMhhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj(ubj)}(hjh]h*}(hj[hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj(ubj)}(hdsth]hdst}(hjhhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj(ubeh}(h]h ]h"]h$]h&]noemphhhuh1j hj ubj )}(h size_t lengthh](h)}(hhh]j)}(hsize_th]hsize_t}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetjmodnameN classnameNj[ j^ )}ja ]je c.wmi_string_to_utf8sasbuh1hhj}ubjn)}(h h]h }(hjhhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj}ubj)}(hlengthh]hlength}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj}ubeh}(h]h ]h"]h$]h&]noemphhhuh1j hj ubeh}(h]h ]h"]h$]h&]hhuh1j hj: hhhjj hKubeh}(h]h ]h"]h$]h&]hhjuh1jUjjhj6 hhhjj hKubah}(h]j1 ah ](jjeh"]h$]h&]jj)jhuh1jOhjj hKhj3 hhubj)}(hhh]h)}(h(Convert a WMI string into a UTF8 string.h]h(Convert a WMI string into a UTF8 string.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:19: ./drivers/platform/wmi/string.chKhjhhubah}(h]h ]h"]h$]h&]uh1jhj3 hhhjj hKubeh}(h]h ](hfunctioneh"]h$]h&]jhjjjjjjjuh1jJhhhhhNhNubj)}(hX3**Parameters** ``const struct wmi_string *str`` WMI string representation ``u8 *dst`` Buffer to fill with UTF8 characters ``size_t length`` Length of the destination buffer **Description** Convert as WMI string into a standard UTF8 string. The conversion will stop once a NUL character is detected or when the buffer is full. Any invalid UTF16 characters will be ignored. The resulting UTF8 string will always be NUL-terminated when this function returns successfully. **Return** Length of the resulting UTF8 string or negative errno code on failure.h](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:19: ./drivers/platform/wmi/string.chKhjubj&)}(hhh](j+)}(h;``const struct wmi_string *str`` WMI string representation h](j1)}(h ``const struct wmi_string *str``h]h)}(hjh]hconst struct wmi_string *str}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j0h\/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:19: ./drivers/platform/wmi/string.chKhjubjK)}(hhh]h)}(hWMI string representationh]hWMI string representation}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj0hKhj1ubah}(h]h ]h"]h$]h&]uh1jJhjubeh}(h]h ]h"]h$]h&]uh1j*hj0hKhjubj+)}(h0``u8 *dst`` Buffer to fill with UTF8 characters h](j1)}(h ``u8 *dst``h]h)}(hjTh]hu8 *dst}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjRubah}(h]h ]h"]h$]h&]uh1j0h\/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:19: ./drivers/platform/wmi/string.chKhjNubjK)}(hhh]h)}(h#Buffer to fill with UTF8 charactersh]h#Buffer to fill with UTF8 characters}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjihKhjjubah}(h]h ]h"]h$]h&]uh1jJhjNubeh}(h]h ]h"]h$]h&]uh1j*hjihKhjubj+)}(h3``size_t length`` Length of the destination buffer h](j1)}(h``size_t length``h]h)}(hjh]h size_t length}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j0h\/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:19: ./drivers/platform/wmi/string.chKhjubjK)}(hhh]h)}(h Length of the destination bufferh]h Length of the destination buffer}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jJhjubeh}(h]h ]h"]h$]h&]uh1j*hjhKhjubeh}(h]h ]h"]h$]h&]uh1j%hjubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:19: ./drivers/platform/wmi/string.chKhjubh)}(hXConvert as WMI string into a standard UTF8 string. The conversion will stop once a NUL character is detected or when the buffer is full. Any invalid UTF16 characters will be ignored. The resulting UTF8 string will always be NUL-terminated when this function returns successfully.h]hXConvert as WMI string into a standard UTF8 string. The conversion will stop once a NUL character is detected or when the buffer is full. Any invalid UTF16 characters will be ignored. The resulting UTF8 string will always be NUL-terminated when this function returns successfully.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:19: ./drivers/platform/wmi/string.chKhjubh)}(h **Return**h]j)}(hjh]hReturn}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:19: ./drivers/platform/wmi/string.chKhjubh)}(hFLength of the resulting UTF8 string or negative errno code on failure.h]hFLength of the resulting UTF8 string or negative errno code on failure.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:19: ./drivers/platform/wmi/string.chK hjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhhhhhNhNubj:)}(hhh]h}(h]h ]h"]h$]h&]entries](jF"wmi_string_from_utf8s (C function)c.wmi_string_from_utf8shNtauh1j9hhhhhNhNubjK)}(hhh](jP)}(hjssize_t wmi_string_from_utf8s (struct wmi_string *str, size_t max_chars, const u8 *src, size_t src_length)h]jV)}(hissize_t wmi_string_from_utf8s(struct wmi_string *str, size_t max_chars, const u8 *src, size_t src_length)h](h)}(hhh]j)}(hssize_th]hssize_t}(hj7hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj4ubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetj9modnameN classnameNj[ j^ )}ja ]jd )}jW wmi_string_from_utf8ssbc.wmi_string_from_utf8sasbuh1hhj0hhh\/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:19: ./drivers/platform/wmi/string.chK8ubjn)}(h h]h }(hjYhhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj0hhhjXhK8ubj)}(hwmi_string_from_utf8sh]j)}(hjUh]hwmi_string_from_utf8s}(hjkhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjgubah}(h]h ](jjeh"]h$]h&]hhuh1j~hj0hhhjXhK8ubj )}(hL(struct wmi_string *str, size_t max_chars, const u8 *src, size_t src_length)h](j )}(hstruct wmi_string *strh](j\)}(hj_h]hstruct}(hjhhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hjubjn)}(h h]h }(hjhhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhjubh)}(hhh]j)}(h wmi_stringh]h wmi_string}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetjmodnameN classnameNj[ j^ )}ja ]jSc.wmi_string_from_utf8sasbuh1hhjubjn)}(h h]h }(hjhhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(hstrh]hstr}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphhhuh1j hj~ubj )}(hsize_t max_charsh](h)}(hhh]j)}(hsize_th]hsize_t}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetjmodnameN classnameNj[ j^ )}ja ]jSc.wmi_string_from_utf8sasbuh1hhjubjn)}(h h]h }(hjhhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhjubj)}(h max_charsh]h max_chars}(hj%hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphhhuh1j hj~ubj )}(h const u8 *srch](j\)}(hj h]hconst}(hj>hhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hj:ubjn)}(h h]h }(hjKhhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj:ubh)}(hhh]j)}(hu8h]hu8}(hj\hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjYubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetj^modnameN classnameNj[ j^ )}ja ]jSc.wmi_string_from_utf8sasbuh1hhj:ubjn)}(h h]h }(hjzhhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj:ubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj:ubj)}(hsrch]hsrc}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj:ubeh}(h]h ]h"]h$]h&]noemphhhuh1j hj~ubj )}(hsize_t src_lengthh](h)}(hhh]j)}(hsize_th]hsize_t}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetjmodnameN classnameNj[ j^ )}ja ]jSc.wmi_string_from_utf8sasbuh1hhjubjn)}(h h]h }(hjhhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhjubj)}(h src_lengthh]h src_length}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphhhuh1j hj~ubeh}(h]h ]h"]h$]h&]hhuh1j hj0hhhjXhK8ubeh}(h]h ]h"]h$]h&]hhjuh1jUjjhj,hhhjXhK8ubah}(h]j'ah ](jjeh"]h$]h&]jj)jhuh1jOhjXhK8hj)hhubj)}(hhh]h)}(h(Convert a UTF8 string into a WMI string.h]h(Convert a UTF8 string into a WMI string.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:19: ./drivers/platform/wmi/string.chK8hjhhubah}(h]h ]h"]h$]h&]uh1jhj)hhhjXhK8ubeh}(h]h ](hfunctioneh"]h$]h&]jhjjjjjjjuh1jJhhhhhNhNubj)}(hX**Parameters** ``struct wmi_string *str`` WMI string representation ``size_t max_chars`` Maximum number of UTF16 code points to store inside the WMI string ``const u8 *src`` UTF8 string to convert ``size_t src_length`` Length of the source string without any trailing NUL-characters **Description** Convert a UTF8 string into a WMI string. The conversion will stop when the WMI string is full. The resulting WMI string will always be NUL-terminated and have its length field set to and appropriate value when this function returns successfully. **Return** Number of UTF16 code points inside the WMI string or negative errno code on failure.h](h)}(h**Parameters**h]j)}(hj)h]h Parameters}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj'ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:19: ./drivers/platform/wmi/string.chKhj#ubh)}(hConvert a UTF8 string into a WMI string. The conversion will stop when the WMI string is full. The resulting WMI string will always be NUL-terminated and have its length field set to and appropriate value when this function returns successfully.h]hConvert a UTF8 string into a WMI string. The conversion will stop when the WMI string is full. The resulting WMI string will always be NUL-terminated and have its length field set to and appropriate value when this function returns successfully.}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:19: ./drivers/platform/wmi/string.chK=hj#ubh)}(h **Return**h]j)}(hjUh]hReturn}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjSubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:19: ./drivers/platform/wmi/string.chKAhj#ubh)}(hTNumber of UTF16 code points inside the WMI string or negative errno code on failure.h]hTNumber of UTF16 code points inside the WMI string or negative errno code on failure.}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:19: ./drivers/platform/wmi/string.chKBhj#ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhhhhhNhNubj:)}(hhh]h}(h]h ]h"]h$]h&]entries](jFwmi_instance_count (C function)c.wmi_instance_counthNtauh1j9hhhhhNhNubjK)}(hhh](jP)}(h0int wmi_instance_count (const char *guid_string)h]jV)}(h/int wmi_instance_count(const char *guid_string)h](hdesc_sig_keyword_type)}(hinth]hint}(hjhhhNhNubah}(h]h ]ktah"]h$]h&]uh1jhjhhhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chKubjn)}(h h]h }(hjhhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhjhhhjhKubj)}(hwmi_instance_counth]j)}(hwmi_instance_counth]hwmi_instance_count}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]hhuh1j~hjhhhjhKubj )}(h(const char *guid_string)h]j )}(hconst char *guid_stringh](j\)}(hj h]hconst}(hjhhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hjubjn)}(h h]h }(hjhhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhjubj)}(hcharh]hchar}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjn)}(h h]h }(hjhhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(h guid_stringh]h guid_string}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphhhuh1j hjubah}(h]h ]h"]h$]h&]hhuh1j hjhhhjhKubeh}(h]h ]h"]h$]h&]hhjuh1jUjjhjhhhjhKubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jOhjhKhjhhubj)}(hhh]h)}(h"Get number of WMI object instancesh]h"Get number of WMI object instances}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chKhjEhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhKubeh}(h]h ](hfunctioneh"]h$]h&]jhjj`jj`jjjuh1jJhhhhhNhNubj)}(h**Parameters** ``const char *guid_string`` 36 char string of the form fa50ff2b-f2e8-45de-83fa-65417f2f49ba **Description** Get the number of WMI object instances. **Return** Number of WMI object instances or negative error code.h](h)}(h**Parameters**h]j)}(hjjh]h Parameters}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chKhjdubj&)}(hhh]j+)}(h\``const char *guid_string`` 36 char string of the form fa50ff2b-f2e8-45de-83fa-65417f2f49ba h](j1)}(h``const char *guid_string``h]h)}(hjh]hconst char *guid_string}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j0hZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chKhjubjK)}(hhh]h)}(h?36 char string of the form fa50ff2b-f2e8-45de-83fa-65417f2f49bah]h?36 char string of the form fa50ff2b-f2e8-45de-83fa-65417f2f49ba}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jJhjubeh}(h]h ]h"]h$]h&]uh1j*hjhKhjubah}(h]h ]h"]h$]h&]uh1j%hjdubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chKhjdubh)}(h'Get the number of WMI object instances.h]h'Get the number of WMI object instances.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chKhjdubh)}(h **Return**h]j)}(hjh]hReturn}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chKhjdubh)}(h6Number of WMI object instances or negative error code.h]h6Number of WMI object instances or negative error code.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chKhjdubeh}(h]h ] kernelindentah"]h$]h&]uh1jhhhhhNhNubj:)}(hhh]h}(h]h ]h"]h$]h&]entries](jF"wmidev_instance_count (C function)c.wmidev_instance_counthNtauh1j9hhhhhNhNubjK)}(hhh](jP)}(h2u8 wmidev_instance_count (struct wmi_device *wdev)h]jV)}(h1u8 wmidev_instance_count(struct wmi_device *wdev)h](h)}(hhh]j)}(hu8h]hu8}(hj3hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj0ubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetj5modnameN classnameNj[ j^ )}ja ]jd )}jW wmidev_instance_countsbc.wmidev_instance_countasbuh1hhj,hhhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMubjn)}(h h]h }(hjUhhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj,hhhjThMubj)}(hwmidev_instance_counth]j)}(hjQh]hwmidev_instance_count}(hjghhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjcubah}(h]h ](jjeh"]h$]h&]hhuh1j~hj,hhhjThMubj )}(h(struct wmi_device *wdev)h]j )}(hstruct wmi_device *wdevh](j\)}(hj_h]hstruct}(hjhhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hj~ubjn)}(h h]h }(hjhhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj~ubh)}(hhh]j)}(h wmi_deviceh]h wmi_device}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetjmodnameN classnameNj[ j^ )}ja ]jOc.wmidev_instance_countasbuh1hhj~ubjn)}(h h]h }(hjhhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj~ubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj~ubj)}(hwdevh]hwdev}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj~ubeh}(h]h ]h"]h$]h&]noemphhhuh1j hjzubah}(h]h ]h"]h$]h&]hhuh1j hj,hhhjThMubeh}(h]h ]h"]h$]h&]hhjuh1jUjjhj(hhhjThMubah}(h]j#ah ](jjeh"]h$]h&]jj)jhuh1jOhjThMhj%hhubj)}(hhh]h)}(h"Get number of WMI object instancesh]h"Get number of WMI object instances}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhjhhubah}(h]h ]h"]h$]h&]uh1jhj%hhhjThMubeh}(h]h ](hfunctioneh"]h$]h&]jhjjjjjjjuh1jJhhhhhNhNubj)}(h**Parameters** ``struct wmi_device *wdev`` A wmi bus device from a driver **Description** Get the number of WMI object instances. **Return** Number of WMI object instances.h](h)}(h**Parameters**h]j)}(hj%h]h Parameters}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj#ubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM hjubj&)}(hhh]j+)}(h;``struct wmi_device *wdev`` A wmi bus device from a driver h](j1)}(h``struct wmi_device *wdev``h]h)}(hjDh]hstruct wmi_device *wdev}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjBubah}(h]h ]h"]h$]h&]uh1j0hZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhj>ubjK)}(hhh]h)}(hA wmi bus device from a driverh]hA wmi bus device from a driver}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjYhMhjZubah}(h]h ]h"]h$]h&]uh1jJhj>ubeh}(h]h ]h"]h$]h&]uh1j*hjYhMhj;ubah}(h]h ]h"]h$]h&]uh1j%hjubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj}ubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM hjubh)}(h'Get the number of WMI object instances.h]h'Get the number of WMI object instances.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhjubh)}(h **Return**h]j)}(hjh]hReturn}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM hjubh)}(hNumber of WMI object instances.h]hNumber of WMI object instances.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM hjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhhhhhNhNubj:)}(hhh]h}(h]h ]h"]h$]h&]entries](jF wmi_evaluate_method (C function)c.wmi_evaluate_methodhNtauh1j9hhhhhNhNubjK)}(hhh](jP)}(hacpi_status wmi_evaluate_method (const char *guid_string, u8 instance, u32 method_id, const struct acpi_buffer *in, struct acpi_buffer *out)h]jV)}(hacpi_status wmi_evaluate_method(const char *guid_string, u8 instance, u32 method_id, const struct acpi_buffer *in, struct acpi_buffer *out)h](h)}(hhh]j)}(h acpi_statush]h acpi_status}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetjmodnameN classnameNj[ j^ )}ja ]jd )}jW wmi_evaluate_methodsbc.wmi_evaluate_methodasbuh1hhjhhhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMubjn)}(h h]h }(hjhhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhjhhhjhMubj)}(hwmi_evaluate_methodh]j)}(hj h]hwmi_evaluate_method}(hj"hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]hhuh1j~hjhhhjhMubj )}(hl(const char *guid_string, u8 instance, u32 method_id, const struct acpi_buffer *in, struct acpi_buffer *out)h](j )}(hconst char *guid_stringh](j\)}(hj h]hconst}(hj=hhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hj9ubjn)}(h h]h }(hjJhhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj9ubj)}(hcharh]hchar}(hjXhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj9ubjn)}(h h]h }(hjfhhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj9ubj)}(hjh]h*}(hjthhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj9ubj)}(h guid_stringh]h guid_string}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj9ubeh}(h]h ]h"]h$]h&]noemphhhuh1j hj5ubj )}(h u8 instanceh](h)}(hhh]j)}(hu8h]hu8}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetjmodnameN classnameNj[ j^ )}ja ]j c.wmi_evaluate_methodasbuh1hhjubjn)}(h h]h }(hjhhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhjubj)}(hinstanceh]hinstance}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphhhuh1j hj5ubj )}(h u32 method_idh](h)}(hhh]j)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetjmodnameN classnameNj[ j^ )}ja ]j c.wmi_evaluate_methodasbuh1hhjubjn)}(h h]h }(hjhhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhjubj)}(h method_idh]h method_id}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphhhuh1j hj5ubj )}(hconst struct acpi_buffer *inh](j\)}(hj h]hconst}(hj*hhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hj&ubjn)}(h h]h }(hj7hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj&ubj\)}(hj_h]hstruct}(hjEhhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hj&ubjn)}(h h]h }(hjRhhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj&ubh)}(hhh]j)}(h acpi_bufferh]h acpi_buffer}(hjchhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj`ubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetjemodnameN classnameNj[ j^ )}ja ]j c.wmi_evaluate_methodasbuh1hhj&ubjn)}(h h]h }(hjhhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj&ubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj&ubj)}(hinh]hin}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj&ubeh}(h]h ]h"]h$]h&]noemphhhuh1j hj5ubj )}(hstruct acpi_buffer *outh](j\)}(hj_h]hstruct}(hjhhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hjubjn)}(h h]h }(hjhhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhjubh)}(hhh]j)}(h acpi_bufferh]h acpi_buffer}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetjmodnameN classnameNj[ j^ )}ja ]j c.wmi_evaluate_methodasbuh1hhjubjn)}(h h]h }(hjhhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(houth]hout}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphhhuh1j hj5ubeh}(h]h ]h"]h$]h&]hhuh1j hjhhhjhMubeh}(h]h ]h"]h$]h&]hhjuh1jUjjhjhhhjhMubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jOhjhMhjhhubj)}(hhh]h)}(h"Evaluate a WMI method (deprecated)h]h"Evaluate a WMI method (deprecated)}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhj3hhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhMubeh}(h]h ](hfunctioneh"]h$]h&]jhjjNjjNjjjuh1jJhhhhhNhNubj)}(hX**Parameters** ``const char *guid_string`` 36 char string of the form fa50ff2b-f2e8-45de-83fa-65417f2f49ba ``u8 instance`` Instance index ``u32 method_id`` Method ID to call ``const struct acpi_buffer *in`` Mandatory buffer containing input for the method call ``struct acpi_buffer *out`` Empty buffer to return the method results **Description** Call an ACPI-WMI method, the caller must free **out**. **Return** acpi_status signaling success or error.h](h)}(h**Parameters**h]j)}(hjXh]h Parameters}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjVubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhjRubj&)}(hhh](j+)}(h\``const char *guid_string`` 36 char string of the form fa50ff2b-f2e8-45de-83fa-65417f2f49ba h](j1)}(h``const char *guid_string``h]h)}(hjwh]hconst char *guid_string}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjuubah}(h]h ]h"]h$]h&]uh1j0hZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhjqubjK)}(hhh]h)}(h?36 char string of the form fa50ff2b-f2e8-45de-83fa-65417f2f49bah]h?36 char string of the form fa50ff2b-f2e8-45de-83fa-65417f2f49ba}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jJhjqubeh}(h]h ]h"]h$]h&]uh1j*hjhMhjnubj+)}(h``u8 instance`` Instance index h](j1)}(h``u8 instance``h]h)}(hjh]h u8 instance}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j0hZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhjubjK)}(hhh]h)}(hInstance indexh]hInstance index}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jJhjubeh}(h]h ]h"]h$]h&]uh1j*hjhMhjnubj+)}(h$``u32 method_id`` Method ID to call h](j1)}(h``u32 method_id``h]h)}(hjh]h u32 method_id}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j0hZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhjubjK)}(hhh]h)}(hMethod ID to callh]hMethod ID to call}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jJhjubeh}(h]h ]h"]h$]h&]uh1j*hjhMhjnubj+)}(hW``const struct acpi_buffer *in`` Mandatory buffer containing input for the method call h](j1)}(h ``const struct acpi_buffer *in``h]h)}(hj"h]hconst struct acpi_buffer *in}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1j0hZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhjubjK)}(hhh]h)}(h5Mandatory buffer containing input for the method callh]h5Mandatory buffer containing input for the method call}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj7hMhj8ubah}(h]h ]h"]h$]h&]uh1jJhjubeh}(h]h ]h"]h$]h&]uh1j*hj7hMhjnubj+)}(hF``struct acpi_buffer *out`` Empty buffer to return the method results h](j1)}(h``struct acpi_buffer *out``h]h)}(hj[h]hstruct acpi_buffer *out}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjYubah}(h]h ]h"]h$]h&]uh1j0hZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhjUubjK)}(hhh]h)}(h)Empty buffer to return the method resultsh]h)Empty buffer to return the method results}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhjphMhjqubah}(h]h ]h"]h$]h&]uh1jJhjUubeh}(h]h ]h"]h$]h&]uh1j*hjphMhjnubeh}(h]h ]h"]h$]h&]uh1j%hjRubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhjRubh)}(h6Call an ACPI-WMI method, the caller must free **out**.h](h.Call an ACPI-WMI method, the caller must free }(hjhhhNhNubj)}(h**out**h]hout}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhjRubh)}(h **Return**h]j)}(hjh]hReturn}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhjRubh)}(h'acpi_status signaling success or error.h]h'acpi_status signaling success or error.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhjRubeh}(h]h ] kernelindentah"]h$]h&]uh1jhhhhhNhNubj:)}(hhh]h}(h]h ]h"]h$]h&]entries](jF#wmidev_evaluate_method (C function)c.wmidev_evaluate_methodhNtauh1j9hhhhhNhNubjK)}(hhh](jP)}(hacpi_status wmidev_evaluate_method (struct wmi_device *wdev, u8 instance, u32 method_id, const struct acpi_buffer *in, struct acpi_buffer *out)h]jV)}(hacpi_status wmidev_evaluate_method(struct wmi_device *wdev, u8 instance, u32 method_id, const struct acpi_buffer *in, struct acpi_buffer *out)h](h)}(hhh]j)}(h acpi_statush]h acpi_status}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetjmodnameN classnameNj[ j^ )}ja ]jd )}jW wmidev_evaluate_methodsbc.wmidev_evaluate_methodasbuh1hhjhhhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM4ubjn)}(h h]h }(hj9hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhjhhhj8hM4ubj)}(hwmidev_evaluate_methodh]j)}(hj5h]hwmidev_evaluate_method}(hjKhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjGubah}(h]h ](jjeh"]h$]h&]hhuh1j~hjhhhj8hM4ubj )}(hl(struct wmi_device *wdev, u8 instance, u32 method_id, const struct acpi_buffer *in, struct acpi_buffer *out)h](j )}(hstruct wmi_device *wdevh](j\)}(hj_h]hstruct}(hjfhhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hjbubjn)}(h h]h }(hjshhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhjbubh)}(hhh]j)}(h wmi_deviceh]h wmi_device}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetjmodnameN classnameNj[ j^ )}ja ]j3c.wmidev_evaluate_methodasbuh1hhjbubjn)}(h h]h }(hjhhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhjbubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjbubj)}(hwdevh]hwdev}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjbubeh}(h]h ]h"]h$]h&]noemphhhuh1j hj^ubj )}(h u8 instanceh](h)}(hhh]j)}(hu8h]hu8}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetjmodnameN classnameNj[ j^ )}ja ]j3c.wmidev_evaluate_methodasbuh1hhjubjn)}(h h]h }(hjhhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhjubj)}(hinstanceh]hinstance}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphhhuh1j hj^ubj )}(h u32 method_idh](h)}(hhh]j)}(hu32h]hu32}(hj!hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetj#modnameN classnameNj[ j^ )}ja ]j3c.wmidev_evaluate_methodasbuh1hhjubjn)}(h h]h }(hj?hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhjubj)}(h method_idh]h method_id}(hjMhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphhhuh1j hj^ubj )}(hconst struct acpi_buffer *inh](j\)}(hj h]hconst}(hjfhhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hjbubjn)}(h h]h }(hjshhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhjbubj\)}(hj_h]hstruct}(hjhhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hjbubjn)}(h h]h }(hjhhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhjbubh)}(hhh]j)}(h acpi_bufferh]h acpi_buffer}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetjmodnameN classnameNj[ j^ )}ja ]j3c.wmidev_evaluate_methodasbuh1hhjbubjn)}(h h]h }(hjhhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhjbubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjbubj)}(hinh]hin}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjbubeh}(h]h ]h"]h$]h&]noemphhhuh1j hj^ubj )}(hstruct acpi_buffer *outh](j\)}(hj_h]hstruct}(hjhhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hjubjn)}(h h]h }(hjhhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhjubh)}(hhh]j)}(h acpi_bufferh]h acpi_buffer}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetjmodnameN classnameNj[ j^ )}ja ]j3c.wmidev_evaluate_methodasbuh1hhjubjn)}(h h]h }(hj-hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhjubj)}(hjh]h*}(hj;hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(houth]hout}(hjHhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphhhuh1j hj^ubeh}(h]h ]h"]h$]h&]hhuh1j hjhhhj8hM4ubeh}(h]h ]h"]h$]h&]hhjuh1jUjjhj hhhj8hM4ubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jOhj8hM4hj hhubj)}(hhh]h)}(h"Evaluate a WMI method (deprecated)h]h"Evaluate a WMI method (deprecated)}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM4hjohhubah}(h]h ]h"]h$]h&]uh1jhj hhhj8hM4ubeh}(h]h ](hfunctioneh"]h$]h&]jhjjjjjjjuh1jJhhhhhNhNubj)}(hX**Parameters** ``struct wmi_device *wdev`` A wmi bus device from a driver ``u8 instance`` Instance index ``u32 method_id`` Method ID to call ``const struct acpi_buffer *in`` Mandatory buffer containing input for the method call ``struct acpi_buffer *out`` Empty buffer to return the method results **Description** Call an ACPI-WMI method, the caller must free **out**. **Return** acpi_status signaling success or error.h](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM8hjubj&)}(hhh](j+)}(h;``struct wmi_device *wdev`` A wmi bus device from a driver h](j1)}(h``struct wmi_device *wdev``h]h)}(hjh]hstruct wmi_device *wdev}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j0hZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM5hjubjK)}(hhh]h)}(hA wmi bus device from a driverh]hA wmi bus device from a driver}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM5hjubah}(h]h ]h"]h$]h&]uh1jJhjubeh}(h]h ]h"]h$]h&]uh1j*hjhM5hjubj+)}(h``u8 instance`` Instance index h](j1)}(h``u8 instance``h]h)}(hjh]h u8 instance}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j0hZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM6hjubjK)}(hhh]h)}(hInstance indexh]hInstance index}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM6hjubah}(h]h ]h"]h$]h&]uh1jJhjubeh}(h]h ]h"]h$]h&]uh1j*hjhM6hjubj+)}(h$``u32 method_id`` Method ID to call h](j1)}(h``u32 method_id``h]h)}(hj%h]h u32 method_id}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj#ubah}(h]h ]h"]h$]h&]uh1j0hZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM7hjubjK)}(hhh]h)}(hMethod ID to callh]hMethod ID to call}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:hM7hj;ubah}(h]h ]h"]h$]h&]uh1jJhjubeh}(h]h ]h"]h$]h&]uh1j*hj:hM7hjubj+)}(hW``const struct acpi_buffer *in`` Mandatory buffer containing input for the method call h](j1)}(h ``const struct acpi_buffer *in``h]h)}(hj^h]hconst struct acpi_buffer *in}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj\ubah}(h]h ]h"]h$]h&]uh1j0hZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM8hjXubjK)}(hhh]h)}(h5Mandatory buffer containing input for the method callh]h5Mandatory buffer containing input for the method call}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjshM8hjtubah}(h]h ]h"]h$]h&]uh1jJhjXubeh}(h]h ]h"]h$]h&]uh1j*hjshM8hjubj+)}(hF``struct acpi_buffer *out`` Empty buffer to return the method results h](j1)}(h``struct acpi_buffer *out``h]h)}(hjh]hstruct acpi_buffer *out}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j0hZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM9hjubjK)}(hhh]h)}(h)Empty buffer to return the method resultsh]h)Empty buffer to return the method results}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM9hjubah}(h]h ]h"]h$]h&]uh1jJhjubeh}(h]h ]h"]h$]h&]uh1j*hjhM9hjubeh}(h]h ]h"]h$]h&]uh1j%hjubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM;hjubh)}(h6Call an ACPI-WMI method, the caller must free **out**.h](h.Call an ACPI-WMI method, the caller must free }(hjhhhNhNubj)}(h**out**h]hout}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM:hjubh)}(h **Return**h]j)}(hj h]hReturn}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM<hjubh)}(h'acpi_status signaling success or error.h]h'acpi_status signaling success or error.}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM=hjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhhhhhNhNubj:)}(hhh]h}(h]h ]h"]h$]h&]entries](jF!wmidev_invoke_method (C function)c.wmidev_invoke_methodhNtauh1j9hhhhhNhNubjK)}(hhh](jP)}(hint wmidev_invoke_method (struct wmi_device *wdev, u8 instance, u32 method_id, const struct wmi_buffer *in, struct wmi_buffer *out, size_t min_size)h]jV)}(hint wmidev_invoke_method(struct wmi_device *wdev, u8 instance, u32 method_id, const struct wmi_buffer *in, struct wmi_buffer *out, size_t min_size)h](j)}(hinth]hint}(hjPhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjLhhhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMoubjn)}(h h]h }(hj_hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhjLhhhj^hMoubj)}(hwmidev_invoke_methodh]j)}(hwmidev_invoke_methodh]hwmidev_invoke_method}(hjqhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjmubah}(h]h ](jjeh"]h$]h&]hhuh1j~hjLhhhj^hMoubj )}(h{(struct wmi_device *wdev, u8 instance, u32 method_id, const struct wmi_buffer *in, struct wmi_buffer *out, size_t min_size)h](j )}(hstruct wmi_device *wdevh](j\)}(hj_h]hstruct}(hjhhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hjubjn)}(h h]h }(hjhhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhjubh)}(hhh]j)}(h wmi_deviceh]h wmi_device}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetjmodnameN classnameNj[ j^ )}ja ]jd )}jW jssbc.wmidev_invoke_methodasbuh1hhjubjn)}(h h]h }(hjhhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(hwdevh]hwdev}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphhhuh1j hjubj )}(h u8 instanceh](h)}(hhh]j)}(hu8h]hu8}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetj modnameN classnameNj[ j^ )}ja ]jc.wmidev_invoke_methodasbuh1hhjubjn)}(h h]h }(hj hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhjubj)}(hinstanceh]hinstance}(hj. hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphhhuh1j hjubj )}(h u32 method_idh](h)}(hhh]j)}(hu32h]hu32}(hjJ hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjG ubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetjL modnameN classnameNj[ j^ )}ja ]jc.wmidev_invoke_methodasbuh1hhjC ubjn)}(h h]h }(hjh hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhjC ubj)}(h method_idh]h method_id}(hjv hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjC ubeh}(h]h ]h"]h$]h&]noemphhhuh1j hjubj )}(hconst struct wmi_buffer *inh](j\)}(hj h]hconst}(hj hhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hj ubjn)}(h h]h }(hj hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj ubj\)}(hj_h]hstruct}(hj hhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hj ubjn)}(h h]h }(hj hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj ubh)}(hhh]j)}(h wmi_bufferh]h wmi_buffer}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetj modnameN classnameNj[ j^ )}ja ]jc.wmidev_invoke_methodasbuh1hhj ubjn)}(h h]h }(hj hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj ubj)}(hjh]h*}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubj)}(hinh]hin}(hj!hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]noemphhhuh1j hjubj )}(hstruct wmi_buffer *outh](j\)}(hj_h]hstruct}(hj!hhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hj!ubjn)}(h h]h }(hj'!hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj!ubh)}(hhh]j)}(h wmi_bufferh]h wmi_buffer}(hj8!hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj5!ubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetj:!modnameN classnameNj[ j^ )}ja ]jc.wmidev_invoke_methodasbuh1hhj!ubjn)}(h h]h }(hjV!hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj!ubj)}(hjh]h*}(hjd!hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj!ubj)}(houth]hout}(hjq!hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj!ubeh}(h]h ]h"]h$]h&]noemphhhuh1j hjubj )}(hsize_t min_sizeh](h)}(hhh]j)}(hsize_th]hsize_t}(hj!hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj!ubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetj!modnameN classnameNj[ j^ )}ja ]jc.wmidev_invoke_methodasbuh1hhj!ubjn)}(h h]h }(hj!hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj!ubj)}(hmin_sizeh]hmin_size}(hj!hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj!ubeh}(h]h ]h"]h$]h&]noemphhhuh1j hjubeh}(h]h ]h"]h$]h&]hhuh1j hjLhhhj^hMoubeh}(h]h ]h"]h$]h&]hhjuh1jUjjhjHhhhj^hMoubah}(h]jCah ](jjeh"]h$]h&]jj)jhuh1jOhj^hMohjEhhubj)}(hhh]h)}(h'Invoke a WMI method that returns valuesh]h'Invoke a WMI method that returns values}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMohj!hhubah}(h]h ]h"]h$]h&]uh1jhjEhhhj^hMoubeh}(h]h ](hfunctioneh"]h$]h&]jhjj!jj!jjjuh1jJhhhhhNhNubj)}(hX**Parameters** ``struct wmi_device *wdev`` A wmi bus device from a driver ``u8 instance`` Instance index ``u32 method_id`` Method ID to call ``const struct wmi_buffer *in`` Mandatory WMI buffer containing input for the method call ``struct wmi_buffer *out`` Mandatory WMI buffer to return the method results ``size_t min_size`` Minimum size of the method result data in bytes **Description** Invoke a WMI method that returns values, the caller must free the resulting data inside **out** using kfree(). Said data is guaranteed to be aligned on a 8-byte boundary. Use wmidev_invoke_procedure() for WMI methods that return no values. **Return** 0 on success or negative error code on failure.h](h)}(h**Parameters**h]j)}(hj"h]h Parameters}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj"ubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMshj!ubj&)}(hhh](j+)}(h;``struct wmi_device *wdev`` A wmi bus device from a driver h](j1)}(h``struct wmi_device *wdev``h]h)}(hj$"h]hstruct wmi_device *wdev}(hj&"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj""ubah}(h]h ]h"]h$]h&]uh1j0hZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMphj"ubjK)}(hhh]h)}(hA wmi bus device from a driverh]hA wmi bus device from a driver}(hj="hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj9"hMphj:"ubah}(h]h ]h"]h$]h&]uh1jJhj"ubeh}(h]h ]h"]h$]h&]uh1j*hj9"hMphj"ubj+)}(h``u8 instance`` Instance index h](j1)}(h``u8 instance``h]h)}(hj]"h]h u8 instance}(hj_"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj["ubah}(h]h ]h"]h$]h&]uh1j0hZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMqhjW"ubjK)}(hhh]h)}(hInstance indexh]hInstance index}(hjv"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjr"hMqhjs"ubah}(h]h ]h"]h$]h&]uh1jJhjW"ubeh}(h]h ]h"]h$]h&]uh1j*hjr"hMqhj"ubj+)}(h$``u32 method_id`` Method ID to call h](j1)}(h``u32 method_id``h]h)}(hj"h]h u32 method_id}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj"ubah}(h]h ]h"]h$]h&]uh1j0hZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMrhj"ubjK)}(hhh]h)}(hMethod ID to callh]hMethod ID to call}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj"hMrhj"ubah}(h]h ]h"]h$]h&]uh1jJhj"ubeh}(h]h ]h"]h$]h&]uh1j*hj"hMrhj"ubj+)}(hZ``const struct wmi_buffer *in`` Mandatory WMI buffer containing input for the method call h](j1)}(h``const struct wmi_buffer *in``h]h)}(hj"h]hconst struct wmi_buffer *in}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj"ubah}(h]h ]h"]h$]h&]uh1j0hZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMshj"ubjK)}(hhh]h)}(h9Mandatory WMI buffer containing input for the method callh]h9Mandatory WMI buffer containing input for the method call}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj"hMshj"ubah}(h]h ]h"]h$]h&]uh1jJhj"ubeh}(h]h ]h"]h$]h&]uh1j*hj"hMshj"ubj+)}(hM``struct wmi_buffer *out`` Mandatory WMI buffer to return the method results h](j1)}(h``struct wmi_buffer *out``h]h)}(hj#h]hstruct wmi_buffer *out}(hj #hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj#ubah}(h]h ]h"]h$]h&]uh1j0hZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMthj#ubjK)}(hhh]h)}(h1Mandatory WMI buffer to return the method resultsh]h1Mandatory WMI buffer to return the method results}(hj!#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj#hMthj#ubah}(h]h ]h"]h$]h&]uh1jJhj#ubeh}(h]h ]h"]h$]h&]uh1j*hj#hMthj"ubj+)}(hD``size_t min_size`` Minimum size of the method result data in bytes h](j1)}(h``size_t min_size``h]h)}(hjA#h]hsize_t min_size}(hjC#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?#ubah}(h]h ]h"]h$]h&]uh1j0hZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMuhj;#ubjK)}(hhh]h)}(h/Minimum size of the method result data in bytesh]h/Minimum size of the method result data in bytes}(hjZ#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjV#hMuhjW#ubah}(h]h ]h"]h$]h&]uh1jJhj;#ubeh}(h]h ]h"]h$]h&]uh1j*hjV#hMuhj"ubeh}(h]h ]h"]h$]h&]uh1j%hj!ubh)}(h**Description**h]j)}(hj|#h]h Description}(hj~#hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjz#ubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMwhj!ubh)}(hInvoke a WMI method that returns values, the caller must free the resulting data inside **out** using kfree(). Said data is guaranteed to be aligned on a 8-byte boundary. Use wmidev_invoke_procedure() for WMI methods that return no values.h](hXInvoke a WMI method that returns values, the caller must free the resulting data inside }(hj#hhhNhNubj)}(h**out**h]hout}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj#ubh using kfree(). Said data is guaranteed to be aligned on a 8-byte boundary. Use wmidev_invoke_procedure() for WMI methods that return no values.}(hj#hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMvhj!ubh)}(h **Return**h]j)}(hj#h]hReturn}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj#ubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM{hj!ubh)}(h/0 on success or negative error code on failure.h]h/0 on success or negative error code on failure.}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM|hj!ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhhhhhNhNubj:)}(hhh]h}(h]h ]h"]h$]h&]entries](jF$wmidev_invoke_procedure (C function)c.wmidev_invoke_procedurehNtauh1j9hhhhhNhNubjK)}(hhh](jP)}(hnint wmidev_invoke_procedure (struct wmi_device *wdev, u8 instance, u32 method_id, const struct wmi_buffer *in)h]jV)}(hmint wmidev_invoke_procedure(struct wmi_device *wdev, u8 instance, u32 method_id, const struct wmi_buffer *in)h](j)}(hinth]hint}(hj#hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj#hhhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMubjn)}(h h]h }(hj $hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj#hhhj$hMubj)}(hwmidev_invoke_procedureh]j)}(hwmidev_invoke_procedureh]hwmidev_invoke_procedure}(hj$hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj$ubah}(h]h ](jjeh"]h$]h&]hhuh1j~hj#hhhj$hMubj )}(hR(struct wmi_device *wdev, u8 instance, u32 method_id, const struct wmi_buffer *in)h](j )}(hstruct wmi_device *wdevh](j\)}(hj_h]hstruct}(hj7$hhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hj3$ubjn)}(h h]h }(hjD$hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj3$ubh)}(hhh]j)}(h wmi_deviceh]h wmi_device}(hjU$hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjR$ubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetjW$modnameN classnameNj[ j^ )}ja ]jd )}jW j$sbc.wmidev_invoke_procedureasbuh1hhj3$ubjn)}(h h]h }(hju$hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj3$ubj)}(hjh]h*}(hj$hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj3$ubj)}(hwdevh]hwdev}(hj$hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj3$ubeh}(h]h ]h"]h$]h&]noemphhhuh1j hj/$ubj )}(h u8 instanceh](h)}(hhh]j)}(hu8h]hu8}(hj$hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj$ubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetj$modnameN classnameNj[ j^ )}ja ]jq$c.wmidev_invoke_procedureasbuh1hhj$ubjn)}(h h]h }(hj$hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj$ubj)}(hinstanceh]hinstance}(hj$hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj$ubeh}(h]h ]h"]h$]h&]noemphhhuh1j hj/$ubj )}(h u32 method_idh](h)}(hhh]j)}(hu32h]hu32}(hj$hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj$ubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetj$modnameN classnameNj[ j^ )}ja ]jq$c.wmidev_invoke_procedureasbuh1hhj$ubjn)}(h h]h }(hj%hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj$ubj)}(h method_idh]h method_id}(hj %hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj$ubeh}(h]h ]h"]h$]h&]noemphhhuh1j hj/$ubj )}(hconst struct wmi_buffer *inh](j\)}(hj h]hconst}(hj9%hhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hj5%ubjn)}(h h]h }(hjF%hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj5%ubj\)}(hj_h]hstruct}(hjT%hhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hj5%ubjn)}(h h]h }(hja%hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj5%ubh)}(hhh]j)}(h wmi_bufferh]h wmi_buffer}(hjr%hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjo%ubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetjt%modnameN classnameNj[ j^ )}ja ]jq$c.wmidev_invoke_procedureasbuh1hhj5%ubjn)}(h h]h }(hj%hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj5%ubj)}(hjh]h*}(hj%hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj5%ubj)}(hinh]hin}(hj%hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj5%ubeh}(h]h ]h"]h$]h&]noemphhhuh1j hj/$ubeh}(h]h ]h"]h$]h&]hhuh1j hj#hhhj$hMubeh}(h]h ]h"]h$]h&]hhjuh1jUjjhj#hhhj$hMubah}(h]j#ah ](jjeh"]h$]h&]jj)jhuh1jOhj$hMhj#hhubj)}(hhh]h)}(h/Invoke a WMI method that does not return valuesh]h/Invoke a WMI method that does not return values}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhj%hhubah}(h]h ]h"]h$]h&]uh1jhj#hhhj$hMubeh}(h]h ](hfunctioneh"]h$]h&]jhjj%jj%jjjuh1jJhhhhhNhNubj)}(hX**Parameters** ``struct wmi_device *wdev`` A wmi bus device from a driver ``u8 instance`` Instance index ``u32 method_id`` Method ID to call ``const struct wmi_buffer *in`` Mandatory WMI buffer containing input for the method call **Description** Invoke a WMI method that does not return any values. Use wmidev_invoke_method() for WMI methods that do return values. **Return** 0 on success or negative error code on failure.h](h)}(h**Parameters**h]j)}(hj%h]h Parameters}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj%ubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhj%ubj&)}(hhh](j+)}(h;``struct wmi_device *wdev`` A wmi bus device from a driver h](j1)}(h``struct wmi_device *wdev``h]h)}(hj&h]hstruct wmi_device *wdev}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj&ubah}(h]h ]h"]h$]h&]uh1j0hZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhj&ubjK)}(hhh]h)}(hA wmi bus device from a driverh]hA wmi bus device from a driver}(hj/&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj+&hMhj,&ubah}(h]h ]h"]h$]h&]uh1jJhj&ubeh}(h]h ]h"]h$]h&]uh1j*hj+&hMhj &ubj+)}(h``u8 instance`` Instance index h](j1)}(h``u8 instance``h]h)}(hjO&h]h u8 instance}(hjQ&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjM&ubah}(h]h ]h"]h$]h&]uh1j0hZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhjI&ubjK)}(hhh]h)}(hInstance indexh]hInstance index}(hjh&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjd&hMhje&ubah}(h]h ]h"]h$]h&]uh1jJhjI&ubeh}(h]h ]h"]h$]h&]uh1j*hjd&hMhj &ubj+)}(h$``u32 method_id`` Method ID to call h](j1)}(h``u32 method_id``h]h)}(hj&h]h u32 method_id}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj&ubah}(h]h ]h"]h$]h&]uh1j0hZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhj&ubjK)}(hhh]h)}(hMethod ID to callh]hMethod ID to call}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj&hMhj&ubah}(h]h ]h"]h$]h&]uh1jJhj&ubeh}(h]h ]h"]h$]h&]uh1j*hj&hMhj &ubj+)}(hZ``const struct wmi_buffer *in`` Mandatory WMI buffer containing input for the method call h](j1)}(h``const struct wmi_buffer *in``h]h)}(hj&h]hconst struct wmi_buffer *in}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj&ubah}(h]h ]h"]h$]h&]uh1j0hZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhj&ubjK)}(hhh]h)}(h9Mandatory WMI buffer containing input for the method callh]h9Mandatory WMI buffer containing input for the method call}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj&hMhj&ubah}(h]h ]h"]h$]h&]uh1jJhj&ubeh}(h]h ]h"]h$]h&]uh1j*hj&hMhj &ubeh}(h]h ]h"]h$]h&]uh1j%hj%ubh)}(h**Description**h]j)}(hj&h]h Description}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&ubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhj%ubh)}(hvInvoke a WMI method that does not return any values. Use wmidev_invoke_method() for WMI methods that do return values.h]hvInvoke a WMI method that does not return any values. Use wmidev_invoke_method() for WMI methods that do return values.}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhj%ubh)}(h **Return**h]j)}(hj#'h]hReturn}(hj%'hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj!'ubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhj%ubh)}(h/0 on success or negative error code on failure.h]h/0 on success or negative error code on failure.}(hj9'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhj%ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhhhhhNhNubj:)}(hhh]h}(h]h ]h"]h$]h&]entries](jFwmi_query_block (C function)c.wmi_query_blockhNtauh1j9hhhhhNhNubjK)}(hhh](jP)}(h[acpi_status wmi_query_block (const char *guid_string, u8 instance, struct acpi_buffer *out)h]jV)}(hZacpi_status wmi_query_block(const char *guid_string, u8 instance, struct acpi_buffer *out)h](h)}(hhh]j)}(h acpi_statush]h acpi_status}(hjk'hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjh'ubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetjm'modnameN classnameNj[ j^ )}ja ]jd )}jW wmi_query_blocksbc.wmi_query_blockasbuh1hhjd'hhhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMubjn)}(h h]h }(hj'hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhjd'hhhj'hMubj)}(hwmi_query_blockh]j)}(hj'h]hwmi_query_block}(hj'hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj'ubah}(h]h ](jjeh"]h$]h&]hhuh1j~hjd'hhhj'hMubj )}(h?(const char *guid_string, u8 instance, struct acpi_buffer *out)h](j )}(hconst char *guid_stringh](j\)}(hj h]hconst}(hj'hhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hj'ubjn)}(h h]h }(hj'hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj'ubj)}(hcharh]hchar}(hj'hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj'ubjn)}(h h]h }(hj'hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj'ubj)}(hjh]h*}(hj'hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj'ubj)}(h guid_stringh]h guid_string}(hj'hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj'ubeh}(h]h ]h"]h$]h&]noemphhhuh1j hj'ubj )}(h u8 instanceh](h)}(hhh]j)}(hu8h]hu8}(hj(hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj(ubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetj(modnameN classnameNj[ j^ )}ja ]j'c.wmi_query_blockasbuh1hhj(ubjn)}(h h]h }(hj8(hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj(ubj)}(hinstanceh]hinstance}(hjF(hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj(ubeh}(h]h ]h"]h$]h&]noemphhhuh1j hj'ubj )}(hstruct acpi_buffer *outh](j\)}(hj_h]hstruct}(hj_(hhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hj[(ubjn)}(h h]h }(hjl(hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj[(ubh)}(hhh]j)}(h acpi_bufferh]h acpi_buffer}(hj}(hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjz(ubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetj(modnameN classnameNj[ j^ )}ja ]j'c.wmi_query_blockasbuh1hhj[(ubjn)}(h h]h }(hj(hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj[(ubj)}(hjh]h*}(hj(hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj[(ubj)}(houth]hout}(hj(hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj[(ubeh}(h]h ]h"]h$]h&]noemphhhuh1j hj'ubeh}(h]h ]h"]h$]h&]hhuh1j hjd'hhhj'hMubeh}(h]h ]h"]h$]h&]hhjuh1jUjjhj`'hhhj'hMubah}(h]j['ah ](jjeh"]h$]h&]jj)jhuh1jOhj'hMhj]'hhubj)}(hhh]h)}(h+Return contents of a WMI block (deprecated)h]h+Return contents of a WMI block (deprecated)}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhj(hhubah}(h]h ]h"]h$]h&]uh1jhj]'hhhj'hMubeh}(h]h ](hfunctioneh"]h$]h&]jhjj(jj(jjjuh1jJhhhhhNhNubj)}(hXq**Parameters** ``const char *guid_string`` 36 char string of the form fa50ff2b-f2e8-45de-83fa-65417f2f49ba ``u8 instance`` Instance index ``struct acpi_buffer *out`` Empty buffer to return the contents of the data block to **Description** Query a ACPI-WMI block, the caller must free **out**. **Return** ACPI object containing the content of the WMI block.h](h)}(h**Parameters**h]j)}(hj)h]h Parameters}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj)ubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhj(ubj&)}(hhh](j+)}(h\``const char *guid_string`` 36 char string of the form fa50ff2b-f2e8-45de-83fa-65417f2f49ba h](j1)}(h``const char *guid_string``h]h)}(hj!)h]hconst char *guid_string}(hj#)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj)ubah}(h]h ]h"]h$]h&]uh1j0hZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhj)ubjK)}(hhh]h)}(h?36 char string of the form fa50ff2b-f2e8-45de-83fa-65417f2f49bah]h?36 char string of the form fa50ff2b-f2e8-45de-83fa-65417f2f49ba}(hj:)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj6)hMhj7)ubah}(h]h ]h"]h$]h&]uh1jJhj)ubeh}(h]h ]h"]h$]h&]uh1j*hj6)hMhj)ubj+)}(h``u8 instance`` Instance index h](j1)}(h``u8 instance``h]h)}(hjZ)h]h u8 instance}(hj\)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjX)ubah}(h]h ]h"]h$]h&]uh1j0hZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhjT)ubjK)}(hhh]h)}(hInstance indexh]hInstance index}(hjs)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjo)hMhjp)ubah}(h]h ]h"]h$]h&]uh1jJhjT)ubeh}(h]h ]h"]h$]h&]uh1j*hjo)hMhj)ubj+)}(hU``struct acpi_buffer *out`` Empty buffer to return the contents of the data block to h](j1)}(h``struct acpi_buffer *out``h]h)}(hj)h]hstruct acpi_buffer *out}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj)ubah}(h]h ]h"]h$]h&]uh1j0hZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhj)ubjK)}(hhh]h)}(h8Empty buffer to return the contents of the data block toh]h8Empty buffer to return the contents of the data block to}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj)hMhj)ubah}(h]h ]h"]h$]h&]uh1jJhj)ubeh}(h]h ]h"]h$]h&]uh1j*hj)hMhj)ubeh}(h]h ]h"]h$]h&]uh1j%hj(ubh)}(h**Description**h]j)}(hj)h]h Description}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj)ubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhj(ubh)}(h5Query a ACPI-WMI block, the caller must free **out**.h](h-Query a ACPI-WMI block, the caller must free }(hj)hhhNhNubj)}(h**out**h]hout}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj)ubh.}(hj)hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhj(ubh)}(h **Return**h]j)}(hj*h]hReturn}(hj *hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj*ubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhj(ubh)}(h4ACPI object containing the content of the WMI block.h]h4ACPI object containing the content of the WMI block.}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhj(ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhhhhhNhNubj:)}(hhh]h}(h]h ]h"]h$]h&]entries](jFwmidev_block_query (C function)c.wmidev_block_queryhNtauh1j9hhhhhNhNubjK)}(hhh](jP)}(hMunion acpi_object * wmidev_block_query (struct wmi_device *wdev, u8 instance)h]jV)}(hKunion acpi_object *wmidev_block_query(struct wmi_device *wdev, u8 instance)h](j\)}(hunionh]hunion}(hjL*hhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hjH*hhhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM"ubjn)}(h h]h }(hj[*hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhjH*hhhjZ*hM"ubh)}(hhh]j)}(h acpi_objecth]h acpi_object}(hjl*hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhji*ubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetjn*modnameN classnameNj[ j^ )}ja ]jd )}jW wmidev_block_querysbc.wmidev_block_queryasbuh1hhjH*hhhjZ*hM"ubjn)}(h h]h }(hj*hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhjH*hhhjZ*hM"ubj)}(hjh]h*}(hj*hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjH*hhhjZ*hM"ubj)}(hwmidev_block_queryh]j)}(hj*h]hwmidev_block_query}(hj*hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj*ubah}(h]h ](jjeh"]h$]h&]hhuh1j~hjH*hhhjZ*hM"ubj )}(h&(struct wmi_device *wdev, u8 instance)h](j )}(hstruct wmi_device *wdevh](j\)}(hj_h]hstruct}(hj*hhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hj*ubjn)}(h h]h }(hj*hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj*ubh)}(hhh]j)}(h wmi_deviceh]h wmi_device}(hj*hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj*ubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetj*modnameN classnameNj[ j^ )}ja ]j*c.wmidev_block_queryasbuh1hhj*ubjn)}(h h]h }(hj+hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj*ubj)}(hjh]h*}(hj+hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj*ubj)}(hwdevh]hwdev}(hj+hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj*ubeh}(h]h ]h"]h$]h&]noemphhhuh1j hj*ubj )}(h u8 instanceh](h)}(hhh]j)}(hu8h]hu8}(hj:+hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj7+ubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetj<+modnameN classnameNj[ j^ )}ja ]j*c.wmidev_block_queryasbuh1hhj3+ubjn)}(h h]h }(hjX+hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj3+ubj)}(hinstanceh]hinstance}(hjf+hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj3+ubeh}(h]h ]h"]h$]h&]noemphhhuh1j hj*ubeh}(h]h ]h"]h$]h&]hhuh1j hjH*hhhjZ*hM"ubeh}(h]h ]h"]h$]h&]hhjuh1jUjjhjD*hhhjZ*hM"ubah}(h]j?*ah ](jjeh"]h$]h&]jj)jhuh1jOhjZ*hM"hjA*hhubj)}(hhh]h)}(h,Return contents of a WMI block (deprectated)h]h,Return contents of a WMI block (deprectated)}(hj+hhhNhNubah}(h]h ]h"]h$]h&']uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM"hj+hhubah}(h]h ]h"]h$]h&]uh1jhjA*hhhjZ*hM"ubeh}(h]h ](hfunctioneh"]h$]h&]jhjj+jj+jjjuh1jJhhhhhNhNubj)}(h**Parameters** ``struct wmi_device *wdev`` A wmi bus device from a driver ``u8 instance`` Instance index **Description** Query an ACPI-WMI block, the caller must free the result. **Return** ACPI object containing the content of the WMI block.h](h)}(h**Parameters**h]j)}(hj+h]h Parameters}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj+ubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM&hj+ubj&)}(hhh](j+)}(h;``struct wmi_device *wdev`` A wmi bus device from a driver h](j1)}(h``struct wmi_device *wdev``h]h)}(hj+h]hstruct wmi_device *wdev}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj+ubah}(h]h ]h"]h$]h&]uh1j0hZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM#hj+ubjK)}(hhh]h)}(hA wmi bus device from a driverh]hA wmi bus device from a driver}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj+hM#hj+ubah}(h]h ]h"]h$]h&]uh1jJhj+ubeh}(h]h ]h"]h$]h&]uh1j*hj+hM#hj+ubj+)}(h``u8 instance`` Instance index h](j1)}(h``u8 instance``h]h)}(hj ,h]h u8 instance}(hj ,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj,ubah}(h]h ]h"]h$]h&]uh1j0hZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM$hj,ubjK)}(hhh]h)}(hInstance indexh]hInstance index}(hj#,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj,hM$hj ,ubah}(h]h ]h"]h$]h&]uh1jJhj,ubeh}(h]h ]h"]h$]h&]uh1j*hj,hM$hj+ubeh}(h]h ]h"]h$]h&]uh1j%hj+ubh)}(h**Description**h]j)}(hjE,h]h Description}(hjG,hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjC,ubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM&hj+ubh)}(h9Query an ACPI-WMI block, the caller must free the result.h]h9Query an ACPI-WMI block, the caller must free the result.}(hj[,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM%hj+ubh)}(h **Return**h]j)}(hjl,h]hReturn}(hjn,hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjj,ubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM'hj+ubh)}(h4ACPI object containing the content of the WMI block.h]h4ACPI object containing the content of the WMI block.}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM(hj+ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhhhhhNhNubj:)}(hhh]h}(h]h ]h"]h$]h&]entries](jFwmidev_query_block (C function)c.wmidev_query_blockhNtauh1j9hhhhhNhNubjK)}(hhh](jP)}(hfint wmidev_query_block (struct wmi_device *wdev, u8 instance, struct wmi_buffer *out, size_t min_size)h]jV)}(heint wmidev_query_block(struct wmi_device *wdev, u8 instance, struct wmi_buffer *out, size_t min_size)h](j)}(hinth]hint}(hj,hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj,hhhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM7ubjn)}(h h]h }(hj,hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj,hhhj,hM7ubj)}(hwmidev_query_blockh]j)}(hwmidev_query_blockh]hwmidev_query_block}(hj,hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj,ubah}(h]h ](jjeh"]h$]h&]hhuh1j~hj,hhhj,hM7ubj )}(hO(struct wmi_device *wdev, u8 instance, struct wmi_buffer *out, size_t min_size)h](j )}(hstruct wmi_device *wdevh](j\)}(hj_h]hstruct}(hj,hhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hj,ubjn)}(h h]h }(hj,hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj,ubh)}(hhh]j)}(h wmi_deviceh]h wmi_device}(hj -hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj -ubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetj-modnameN classnameNj[ j^ )}ja ]jd )}jW j,sbc.wmidev_query_blockasbuh1hhj,ubjn)}(h h]h }(hj,-hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj,ubj)}(hjh]h*}(hj:-hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj,ubj)}(hwdevh]hwdev}(hjG-hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj,ubeh}(h]h ]h"]h$]h&]noemphhhuh1j hj,ubj )}(h u8 instanceh](h)}(hhh]j)}(hu8h]hu8}(hjc-hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj`-ubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetje-modnameN classnameNj[ j^ )}ja ]j(-c.wmidev_query_blockasbuh1hhj\-ubjn)}(h h]h }(hj-hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj\-ubj)}(hinstanceh]hinstance}(hj-hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj\-ubeh}(h]h ]h"]h$]h&]noemphhhuh1j hj,ubj )}(hstruct wmi_buffer *outh](j\)}(hj_h]hstruct}(hj-hhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hj-ubjn)}(h h]h }(hj-hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj-ubh)}(hhh]j)}(h wmi_bufferh]h wmi_buffer}(hj-hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj-ubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetj-modnameN classnameNj[ j^ )}ja ]j(-c.wmidev_query_blockasbuh1hhj-ubjn)}(h h]h }(hj-hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj-ubj)}(hjh]h*}(hj-hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj-ubj)}(houth]hout}(hj-hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj-ubeh}(h]h ]h"]h$]h&]noemphhhuh1j hj,ubj )}(hsize_t min_sizeh](h)}(hhh]j)}(hsize_th]hsize_t}(hj.hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj.ubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetj.modnameN classnameNj[ j^ )}ja ]j(-c.wmidev_query_blockasbuh1hhj.ubjn)}(h h]h }(hj9.hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj.ubj)}(hmin_sizeh]hmin_size}(hjG.hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj.ubeh}(h]h ]h"]h$]h&]noemphhhuh1j hj,ubeh}(h]h ]h"]h$]h&]hhuh1j hj,hhhj,hM7ubeh}(h]h ]h"]h$]h&]hhjuh1jUjjhj,hhhj,hM7ubah}(h]j,ah ](jjeh"]h$]h&]jj)jhuh1jOhj,hM7hj,hhubj)}(hhh]h)}(h#Return contents of a WMI data blockh]h#Return contents of a WMI data block}(hjq.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM7hjn.hhubah}(h]h ]h"]h$]h&]uh1jhj,hhhj,hM7ubeh}(h]h ](hfunctioneh"]h$]h&]jhjj.jj.jjjuh1jJhhhhhNhNubj)}(hX**Parameters** ``struct wmi_device *wdev`` A wmi bus device from a driver ``u8 instance`` Instance index ``struct wmi_buffer *out`` WMI buffer to fill ``size_t min_size`` Minimum size of the result data in bytes **Description** Query a WMI data block, the caller must free the resulting data inside **out** using kfree(). Said data is guaranteed to be aligned on a 8-byte boundary. **Return** 0 on success or a negative error code on failure.h](h)}(h**Parameters**h]j)}(hj.h]h Parameters}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj.ubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM;hj.ubj&)}(hhh](j+)}(h;``struct wmi_device *wdev`` A wmi bus device from a driver h](j1)}(h``struct wmi_device *wdev``h]h)}(hj.h]hstruct wmi_device *wdev}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj.ubah}(h]h ]h"]h$]h&]uh1j0hZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM8hj.ubjK)}(hhh]h)}(hA wmi bus device from a driverh]hA wmi bus device from a driver}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj.hM8hj.ubah}(h]h ]h"]h$]h&]uh1jJhj.ubeh}(h]h ]h"]h$]h&]uh1j*hj.hM8hj.ubj+)}(h``u8 instance`` Instance index h](j1)}(h``u8 instance``h]h)}(hj.h]h u8 instance}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj.ubah}(h]h ]h"]h$]h&]uh1j0hZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM9hj.ubjK)}(hhh]h)}(hInstance indexh]hInstance index}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/hM9hj/ubah}(h]h ]h"]h$]h&]uh1jJhj.ubeh}(h]h ]h"]h$]h&]uh1j*hj/hM9hj.ubj+)}(h.``struct wmi_buffer *out`` WMI buffer to fill h](j1)}(h``struct wmi_buffer *out``h]h)}(hj$/h]hstruct wmi_buffer *out}(hj&/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj"/ubah}(h]h ]h"]h$]h&]uh1j0hZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM:hj/ubjK)}(hhh]h)}(hWMI buffer to fillh]hWMI buffer to fill}(hj=/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj9/hM:hj:/ubah}(h]h ]h"]h$]h&]uh1jJhj/ubeh}(h]h ]h"]h$]h&]uh1j*hj9/hM:hj.ubj+)}(h=``size_t min_size`` Minimum size of the result data in bytes h](j1)}(h``size_t min_size``h]h)}(hj]/h]hsize_t min_size}(hj_/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj[/ubah}(h]h ]h"]h$]h&]uh1j0hZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM;hjW/ubjK)}(hhh]h)}(h(Minimum size of the result data in bytesh]h(Minimum size of the result data in bytes}(hjv/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjr/hM;hjs/ubah}(h]h ]h"]h$]h&]uh1jJhjW/ubeh}(h]h ]h"]h$]h&]uh1j*hjr/hM;hj.ubeh}(h]h ]h"]h$]h&]uh1j%hj.ubh)}(h**Description**h]j)}(hj/h]h Description}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj/ubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM=hj.ubh)}(hQuery a WMI data block, the caller must free the resulting data inside **out** using kfree(). Said data is guaranteed to be aligned on a 8-byte boundary.h](hGQuery a WMI data block, the caller must free the resulting data inside }(hj/hhhNhNubj)}(h**out**h]hout}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj/ubhK using kfree(). Said data is guaranteed to be aligned on a 8-byte boundary.}(hj/hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM<hj.ubh)}(h **Return**h]j)}(hj/h]hReturn}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj/ubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM?hj.ubh)}(h10 on success or a negative error code on failure.h]h10 on success or a negative error code on failure.}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM@hj.ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhhhhhNhNubj:)}(hhh]h}(h]h ]h"]h$]h&]entries](jFwmi_set_block (C function)c.wmi_set_blockhNtauh1j9hhhhhNhNubjK)}(hhh](jP)}(h^acpi_status wmi_set_block (const char *guid_string, u8 instance, const struct acpi_buffer *in)h]jV)}(h]acpi_status wmi_set_block(const char *guid_string, u8 instance, const struct acpi_buffer *in)h](h)}(hhh]j)}(h acpi_statush]h acpi_status}(hj0hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj0ubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetj0modnameN classnameNj[ j^ )}ja ]jd )}jW wmi_set_blocksbc.wmi_set_blockasbuh1hhj0hhhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMTubjn)}(h h]h }(hj;0hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj0hhhj:0hMTubj)}(h wmi_set_blockh]j)}(hj70h]h wmi_set_block}(hjM0hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjI0ubah}(h]h ](jjeh"]h$]h&]hhuh1j~hj0hhhj:0hMTubj )}(hD(const char *guid_string, u8 instance, const struct acpi_buffer *in)h](j )}(hconst char *guid_stringh](j\)}(hj h]hconst}(hjh0hhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hjd0ubjn)}(h h]h }(hju0hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhjd0ubj)}(hcharh]hchar}(hj0hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjd0ubjn)}(h h]h }(hj0hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhjd0ubj)}(hjh]h*}(hj0hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjd0ubj)}(h guid_stringh]h guid_string}(hj0hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjd0ubeh}(h]h ]h"]h$]h&]noemphhhuh1j hj`0ubj )}(h u8 instanceh](h)}(hhh]j)}(hu8h]hu8}(hj0hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj0ubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetj0modnameN classnameNj[ j^ )}ja ]j50c.wmi_set_blockasbuh1hhj0ubjn)}(h h]h }(hj0hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj0ubj)}(hinstanceh]hinstance}(hj0hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj0ubeh}(h]h ]h"]h$]h&]noemphhhuh1j hj`0ubj )}(hconst struct acpi_buffer *inh](j\)}(hj h]hconst}(hj 1hhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hj 1ubjn)}(h h]h }(hj1hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj 1ubj\)}(hj_h]hstruct}(hj(1hhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hj 1ubjn)}(h h]h }(hj51hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj 1ubh)}(hhh]j)}(h acpi_bufferh]h acpi_buffer}(hjF1hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjC1ubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetjH1modnameN classnameNj[ j^ )}ja ]j50c.wmi_set_blockasbuh1hhj 1ubjn)}(h h]h }(hjd1hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj 1ubj)}(hjh]h*}(hjr1hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj 1ubj)}(hinh]hin}(hj1hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj 1ubeh}(h]h ]h"]h$]h&]noemphhhuh1j hj`0ubeh}(h]h ]h"]h$]h&]hhuh1j hj0hhhj:0hMTubeh}(h]h ]h"]h$]h&]hhjuh1jUjjhj0hhhj:0hMTubah}(h]j 0ah ](jjeh"]h$]h&]jj)jhuh1jOhj:0hMThj 0hhubj)}(hhh]h)}(h!Write to a WMI block (deprecated)h]h!Write to a WMI block (deprecated)}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMThj1hhubah}(h]h ]h"]h$]h&]uh1jhj 0hhhj:0hMTubeh}(h]h ](hfunctioneh"]h$]h&]jhjj1jj1jjjuh1jJhhhhhNhNubj)}(hXl**Parameters** ``const char *guid_string`` 36 char string of the form fa50ff2b-f2e8-45de-83fa-65417f2f49ba ``u8 instance`` Instance index ``const struct acpi_buffer *in`` Buffer containing new values for the data block **Description** Write the contents of the input buffer to an ACPI-WMI data block. **Return** acpi_status signaling success or error.h](h)}(h**Parameters**h]j)}(hj1h]h Parameters}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj1ubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMXhj1ubj&)}(hhh](j+)}(h\``const char *guid_string`` 36 char string of the form fa50ff2b-f2e8-45de-83fa-65417f2f49ba h](j1)}(h``const char *guid_string``h]h)}(hj1h]hconst char *guid_string}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj1ubah}(h]h ]h"]h$]h&]uh1j0hZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMUhj1ubjK)}(hhh]h)}(h?36 char string of the form fa50ff2b-f2e8-45de-83fa-65417f2f49bah]h?36 char string of the form fa50ff2b-f2e8-45de-83fa-65417f2f49ba}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj1hMUhj2ubah}(h]h ]h"]h$]h&]uh1jJhj1ubeh}(h]h ]h"]h$]h&]uh1j*hj1hMUhj1ubj+)}(h``u8 instance`` Instance index h](j1)}(h``u8 instance``h]h)}(hj#2h]h u8 instance}(hj%2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj!2ubah}(h]h ]h"]h$]h&]uh1j0hZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMVhj2ubjK)}(hhh]h)}(hInstance indexh]hInstance index}(hj<2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj82hMVhj92ubah}(h]h ]h"]h$]h&]uh1jJhj2ubeh}(h]h ]h"]h$]h&]uh1j*hj82hMVhj1ubj+)}(hQ``const struct acpi_buffer *in`` Buffer containing new values for the data block h](j1)}(h ``const struct acpi_buffer *in``h]h)}(hj\2h]hconst struct acpi_buffer *in}(hj^2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjZ2ubah}(h]h ]h"]h$]h&]uh1j0hZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMWhjV2ubjK)}(hhh]h)}(h/Buffer containing new values for the data blockh]h/Buffer containing new values for the data block}(hju2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjq2hMWhjr2ubah}(h]h ]h"]h$]h&]uh1jJhjV2ubeh}(h]h ]h"]h$]h&]uh1j*hjq2hMWhj1ubeh}(h]h ]h"]h$]h&]uh1j%hj1ubh)}(h**Description**h]j)}(hj2h]h Description}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj2ubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMYhj1ubh)}(hAWrite the contents of the input buffer to an ACPI-WMI data block.h]hAWrite the contents of the input buffer to an ACPI-WMI data block.}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMXhj1ubh)}(h **Return**h]j)}(hj2h]hReturn}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj2ubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMZhj1ubh)}(h'acpi_status signaling success or error.h]h'acpi_status signaling success or error.}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM[hj1ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhhhhhNhNubj:)}(hhh]h}(h]h ]h"]h$]h&]entries](jFwmidev_block_set (C function)c.wmidev_block_sethNtauh1j9hhhhhNhNubjK)}(hhh](jP)}(haacpi_status wmidev_block_set (struct wmi_device *wdev, u8 instance, const struct acpi_buffer *in)h]jV)}(h`acpi_status wmidev_block_set(struct wmi_device *wdev, u8 instance, const struct acpi_buffer *in)h](h)}(hhh]j)}(h acpi_statush]h acpi_status}(hj3hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj3ubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetj3modnameN classnameNj[ j^ )}ja ]jd )}jW wmidev_block_setsbc.wmidev_block_setasbuh1hhj2hhhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMuubjn)}(h h]h }(hj(3hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj2hhhj'3hMuubj)}(hwmidev_block_seth]j)}(hj$3h]hwmidev_block_set}(hj:3hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj63ubah}(h]h ](jjeh"]h$]h&]hhuh1j~hj2hhhj'3hMuubj )}(hD(struct wmi_device *wdev, u8 instance, const struct acpi_buffer *in)h](j )}(hstruct wmi_device *wdevh](j\)}(hj_h]hstruct}(hjU3hhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hjQ3ubjn)}(h h]h }(hjb3hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhjQ3ubh)}(hhh]j)}(h wmi_deviceh]h wmi_device}(hjs3hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjp3ubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetju3modnameN classnameNj[ j^ )}ja ]j"3c.wmidev_block_setasbuh1hhjQ3ubjn)}(h h]h }(hj3hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhjQ3ubj)}(hjh]h*}(hj3hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjQ3ubj)}(hwdevh]hwdev}(hj3hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjQ3ubeh}(h]h ]h"]h$]h&]noemphhhuh1j hjM3ubj )}(h u8 instanceh](h)}(hhh]j)}(hu8h]hu8}(hj3hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj3ubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetj3modnameN classnameNj[ j^ )}ja ]j"3c.wmidev_block_setasbuh1hhj3ubjn)}(h h]h }(hj3hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj3ubj)}(hinstanceh]hinstance}(hj3hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj3ubeh}(h]h ]h"]h$]h&]noemphhhuh1j hjM3ubj )}(hconst struct acpi_buffer *inh](j\)}(hj h]hconst}(hj 4hhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hj 4ubjn)}(h h]h }(hj4hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj 4ubj\)}(hj_h]hstruct}(hj(4hhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hj 4ubjn)}(h h]h }(hj54hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj 4ubh)}(hhh]j)}(h acpi_bufferh]h acpi_buffer}(hjF4hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjC4ubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetjH4modnameN classnameNj[ j^ )}ja ]j"3c.wmidev_block_setasbuh1hhj 4ubjn)}(h h]h }(hjd4hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj 4ubj)}(hjh]h*}(hjr4hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj 4ubj)}(hinh]hin}(hj4hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj 4ubeh}(h]h ]h"]h$]h&]noemphhhuh1j hjM3ubeh}(h]h ]h"]h$]h&]hhuh1j hj2hhhj'3hMuubeh}(h]h ]h"]h$]h&]hhjuh1jUjjhj2hhhj'3hMuubah}(h]j2ah ](jjeh"]h$]h&]jj)jhuh1jOhj'3hMuhj2hhubj)}(hhh]h)}(h!Write to a WMI block (deprecated)h]h!Write to a WMI block (deprecated)}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMuhj4hhubah}(h]h ]h"]h$]h&]uh1jhj2hhhj'3hMuubeh}(h]h ](hfunctioneh"]h$]h&]jhjj4jj4jjjuh1jJhhhhhNhNubj)}(hXG**Parameters** ``struct wmi_device *wdev`` A wmi bus device from a driver ``u8 instance`` Instance index ``const struct acpi_buffer *in`` Buffer containing new values for the data block **Description** Write contents of the input buffer to an ACPI-WMI data block. **Return** acpi_status signaling success or error.h](h)}(h**Parameters**h]j)}(hj4h]h Parameters}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj4ubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMyhj4ubj&)}(hhh](j+)}(h;``struct wmi_device *wdev`` A wmi bus device from a driver h](j1)}(h``struct wmi_device *wdev``h]h)}(hj4h]hstruct wmi_device *wdev}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj4ubah}(h]h ]h"]h$]h&]uh1j0hZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMvhj4ubjK)}(hhh]h)}(hA wmi bus device from a driverh]hA wmi bus device from a driver}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj4hMvhj5ubah}(h]h ]h"]h$]h&]uh1jJhj4ubeh}(h]h ]h"]h$]h&]uh1j*hj4hMvhj4ubj+)}(h``u8 instance`` Instance index h](j1)}(h``u8 instance``h]h)}(hj#5h]h u8 instance}(hj%5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj!5ubah}(h]h ]h"]h$]h&]uh1j0hZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMwhj5ubjK)}(hhh]h)}(hInstance indexh]hInstance index}(hj<5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj85hMwhj95ubah}(h]h ]h"]h$]h&]uh1jJhj5ubeh}(h]h ]h"]h$]h&]uh1j*hj85hMwhj4ubj+)}(hQ``const struct acpi_buffer *in`` Buffer containing new values for the data block h](j1)}(h ``const struct acpi_buffer *in``h]h)}(hj\5h]hconst struct acpi_buffer *in}(hj^5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjZ5ubah}(h]h ]h"]h$]h&]uh1j0hZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMxhjV5ubjK)}(hhh]h)}(h/Buffer containing new values for the data blockh]h/Buffer containing new values for the data block}(hju5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjq5hMxhjr5ubah}(h]h ]h"]h$]h&]uh1jJhjV5ubeh}(h]h ]h"]h$]h&]uh1j*hjq5hMxhj4ubeh}(h]h ]h"]h$]h&]uh1j%hj4ubh)}(h**Description**h]j)}(hj5h]h Description}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj5ubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMzhj4ubh)}(h=Write contents of the input buffer to an ACPI-WMI data block.h]h=Write contents of the input buffer to an ACPI-WMI data block.}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMyhj4ubh)}(h **Return**h]j)}(hj5h]hReturn}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj5ubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM{hj4ubh)}(h'acpi_status signaling success or error.h]h'acpi_status signaling success or error.}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM|hj4ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhhhhhNhNubj:)}(hhh]h}(h]h ]h"]h$]h&]entries](jFwmidev_set_block (C function)c.wmidev_set_blockhNtauh1j9hhhhhNhNubjK)}(hhh](jP)}(hXint wmidev_set_block (struct wmi_device *wdev, u8 instance, const struct wmi_buffer *in)h]jV)}(hWint wmidev_set_block(struct wmi_device *wdev, u8 instance, const struct wmi_buffer *in)h](j)}(hinth]hint}(hj6hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj5hhhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMubjn)}(h h]h }(hj6hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj5hhhj6hMubj)}(hwmidev_set_blockh]j)}(hwmidev_set_blockh]hwmidev_set_block}(hj$6hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj 6ubah}(h]h ](jjeh"]h$]h&]hhuh1j~hj5hhhj6hMubj )}(hC(struct wmi_device *wdev, u8 instance, const struct wmi_buffer *in)h](j )}(hstruct wmi_device *wdevh](j\)}(hj_h]hstruct}(hj@6hhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hj<6ubjn)}(h h]h }(hjM6hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj<6ubh)}(hhh]j)}(h wmi_deviceh]h wmi_device}(hj^6hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj[6ubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetj`6modnameN classnameNj[ j^ )}ja ]jd )}jW j&6sbc.wmidev_set_blockasbuh1hhj<6ubjn)}(h h]h }(hj~6hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj<6ubj)}(hjh]h*}(hj6hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj<6ubj)}(hwdevh]hwdev}(hj6hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj<6ubeh}(h]h ]h"]h$]h&]noemphhhuh1j hj86ubj )}(h u8 instanceh](h)}(hhh]j)}(hu8h]hu8}(hj6hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj6ubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetj6modnameN classnameNj[ j^ )}ja ]jz6c.wmidev_set_blockasbuh1hhj6ubjn)}(h h]h }(hj6hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj6ubj)}(hinstanceh]hinstance}(hj6hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj6ubeh}(h]h ]h"]h$]h&]noemphhhuh1j hj86ubj )}(hconst struct wmi_buffer *inh](j\)}(hj h]hconst}(hj6hhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hj6ubjn)}(h h]h }(hj7hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj6ubj\)}(hj_h]hstruct}(hj7hhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hj6ubjn)}(h h]h }(hj"7hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj6ubh)}(hhh]j)}(h wmi_bufferh]h wmi_buffer}(hj37hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj07ubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetj57modnameN classnameNj[ j^ )}ja ]jz6c.wmidev_set_blockasbuh1hhj6ubjn)}(h h]h }(hjQ7hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj6ubj)}(hjh]h*}(hj_7hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj6ubj)}(hinh]hin}(hjl7hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj6ubeh}(h]h ]h"]h$]h&]noemphhhuh1j hj86ubeh}(h]h ]h"]h$]h&]hhuh1j hj5hhhj6hMubeh}(h]h ]h"]h$]h&]hhjuh1jUjjhj5hhhj6hMubah}(h]j5ah ](jjeh"]h$]h&]jj)jhuh1jOhj6hMhj5hhubj)}(hhh]h)}(hWrite to a WMI data blockh]hWrite to a WMI data block}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhj7hhubah}(h]h ]h"]h$]h&]uh1jhj5hhhj6hMubeh}(h]h ](hfunctioneh"]h$]h&]jhjj7jj7jjjuh1jJhhhhhNhNubj)}(hXG**Parameters** ``struct wmi_device *wdev`` A wmi bus device from a driver ``u8 instance`` Instance index ``const struct wmi_buffer *in`` WMI buffer containing new values for the data block **Description** Write the content of **in** into a WMI data block. **Return** 0 on success or negative error code on failure.h](h)}(h**Parameters**h]j)}(hj7h]h Parameters}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj7ubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhj7ubj&)}(hhh](j+)}(h;``struct wmi_device *wdev`` A wmi bus device from a driver h](j1)}(h``struct wmi_device *wdev``h]h)}(hj7h]hstruct wmi_device *wdev}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj7ubah}(h]h ]h"]h$]h&]uh1j0hZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhj7ubjK)}(hhh]h)}(hA wmi bus device from a driverh]hA wmi bus device from a driver}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj7hMhj7ubah}(h]h ]h"]h$]h&]uh1jJhj7ubeh}(h]h ]h"]h$]h&]uh1j*hj7hMhj7ubj+)}(h``u8 instance`` Instance index h](j1)}(h``u8 instance``h]h)}(hj8h]h u8 instance}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj8ubah}(h]h ]h"]h$]h&]uh1j0hZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhj 8ubjK)}(hhh]h)}(hInstance indexh]hInstance index}(hj)8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj%8hMhj&8ubah}(h]h ]h"]h$]h&]uh1jJhj 8ubeh}(h]h ]h"]h$]h&]uh1j*hj%8hMhj7ubj+)}(hT``const struct wmi_buffer *in`` WMI buffer containing new values for the data block h](j1)}(h``const struct wmi_buffer *in``h]h)}(hjI8h]hconst struct wmi_buffer *in}(hjK8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjG8ubah}(h]h ]h"]h$]h&]uh1j0hZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhjC8ubjK)}(hhh]h)}(h3WMI buffer containing new values for the data blockh]h3WMI buffer containing new values for the data block}(hjb8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj^8hMhj_8ubah}(h]h ]h"]h$]h&]uh1jJhjC8ubeh}(h]h ]h"]h$]h&]uh1j*hj^8hMhj7ubeh}(h]h ]h"]h$]h&]uh1j%hj7ubh)}(h**Description**h]j)}(hj8h]h Description}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj8ubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhj7ubh)}(h2Write the content of **in** into a WMI data block.h](hWrite the content of }(hj8hhhNhNubj)}(h**in**h]hin}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj8ubh into a WMI data block.}(hj8hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhj7ubh)}(h **Return**h]j)}(hj8h]hReturn}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj8ubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhj7ubh)}(h/0 on success or negative error code on failure.h]h/0 on success or negative error code on failure.}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhj7ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhhhhhNhNubj:)}(hhh]h}(h]h ]h"]h$]h&]entries](jF'wmi_install_notify_handler (C function)c.wmi_install_notify_handlerhNtauh1j9hhhhhNhNubjK)}(hhh](jP)}(haacpi_status wmi_install_notify_handler (const char *guid, wmi_notify_handler handler, void *data)h]jV)}(h`acpi_status wmi_install_notify_handler(const char *guid, wmi_notify_handler handler, void *data)h](h)}(hhh]j)}(h acpi_statush]h acpi_status}(hj9hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj9ubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetj9modnameN classnameNj[ j^ )}ja ]jd )}jW wmi_install_notify_handlersbc.wmi_install_notify_handlerasbuh1hhj8hhhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMubjn)}(h h]h }(hj'9hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj8hhhj&9hMubj)}(hwmi_install_notify_handlerh]j)}(hj#9h]hwmi_install_notify_handler}(hj99hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj59ubah}(h]h ](jjeh"]h$]h&]hhuh1j~hj8hhhj&9hMubj )}(h:(const char *guid, wmi_notify_handler handler, void *data)h](j )}(hconst char *guidh](j\)}(hj h]hconst}(hjT9hhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hjP9ubjn)}(h h]h }(hja9hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhjP9ubj)}(hcharh]hchar}(hjo9hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjP9ubjn)}(h h]h }(hj}9hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhjP9ubj)}(hjh]h*}(hj9hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjP9ubj)}(hguidh]hguid}(hj9hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjP9ubeh}(h]h ]h"]h$]h&]noemphhhuh1j hjL9ubj )}(hwmi_notify_handler handlerh](h)}(hhh]j)}(hwmi_notify_handlerh]hwmi_notify_handler}(hj9hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj9ubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetj9modnameN classnameNj[ j^ )}ja ]j!9c.wmi_install_notify_handlerasbuh1hhj9ubjn)}(h h]h }(hj9hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj9ubj)}(hhandlerh]hhandler}(hj9hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj9ubeh}(h]h ]h"]h$]h&]noemphhhuh1j hjL9ubj )}(h void *datah](j)}(hvoidh]hvoid}(hj9hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj9ubjn)}(h h]h }(hj:hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj9ubj)}(hjh]h*}(hj:hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj9ubj)}(hdatah]hdata}(hj":hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj9ubeh}(h]h ]h"]h$]h&]noemphhhuh1j hjL9ubeh}(h]h ]h"]h$]h&]hhuh1j hj8hhhj&9hMubeh}(h]h ]h"]h$]h&]hhjuh1jUjjhj8hhhj&9hMubah}(h]j8ah ](jjeh"]h$]h&]jj)jhuh1jOhj&9hMhj8hhubj)}(hhh]h)}(h,Register handler for WMI events (deprecated)h]h,Register handler for WMI events (deprecated)}(hjL:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhjI:hhubah}(h]h ]h"]h$]h&]uh1jhj8hhhj&9hMubeh}(h]h ](hfunctioneh"]h$]h&]jhjjd:jjd:jjjuh1jJhhhhhNhNubj)}(hXw**Parameters** ``const char *guid`` 36 char string of the form fa50ff2b-f2e8-45de-83fa-65417f2f49ba ``wmi_notify_handler handler`` Function to handle notifications ``void *data`` Data to be returned to handler when event is fired **Description** Register a handler for events sent to the ACPI-WMI mapper device. **Return** acpi_status signaling success or error.h](h)}(h**Parameters**h]j)}(hjn:h]h Parameters}(hjp:hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjl:ubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhjh:ubj&)}(hhh](j+)}(hU``const char *guid`` 36 char string of the form fa50ff2b-f2e8-45de-83fa-65417f2f49ba h](j1)}(h``const char *guid``h]h)}(hj:h]hconst char *guid}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:ubah}(h]h ]h"]h$]h&]uh1j0hZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhj:ubjK)}(hhh]h)}(h?36 char string of the form fa50ff2b-f2e8-45de-83fa-65417f2f49bah]h?36 char string of the form fa50ff2b-f2e8-45de-83fa-65417f2f49ba}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:hMhj:ubah}(h]h ]h"]h$]h&]uh1jJhj:ubeh}(h]h ]h"]h$]h&]uh1j*hj:hMhj:ubj+)}(h@``wmi_notify_handler handler`` Function to handle notifications h](j1)}(h``wmi_notify_handler handler``h]h)}(hj:h]hwmi_notify_handler handler}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:ubah}(h]h ]h"]h$]h&]uh1j0hZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhj:ubjK)}(hhh]h)}(h Function to handle notificationsh]h Function to handle notifications}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:hMhj:ubah}(h]h ]h"]h$]h&]uh1jJhj:ubeh}(h]h ]h"]h$]h&]uh1j*hj:hMhj:ubj+)}(hB``void *data`` Data to be returned to handler when event is fired h](j1)}(h``void *data``h]h)}(hj:h]h void *data}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:ubah}(h]h ]h"]h$]h&]uh1j0hZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhj:ubjK)}(hhh]h)}(h2Data to be returned to handler when event is firedh]h2Data to be returned to handler when event is fired}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj;hMhj;ubah}(h]h ]h"]h$]h&]uh1jJhj:ubeh}(h]h ]h"]h$]h&]uh1j*hj;hMhj:ubeh}(h]h ]h"]h$]h&]uh1j%hjh:ubh)}(h**Description**h]j)}(hj:;h]h Description}(hj<;hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj8;ubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhjh:ubh)}(hARegister a handler for events sent to the ACPI-WMI mapper device.h]hARegister a handler for events sent to the ACPI-WMI mapper device.}(hjP;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhjh:ubh)}(h **Return**h]j)}(hja;h]hReturn}(hjc;hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj_;ubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhjh:ubh)}(h'acpi_status signaling success or error.h]h'acpi_status signaling success or error.}(hjw;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhjh:ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhhhhhNhNubj:)}(hhh]h}(h]h ]h"]h$]h&]entries](jF&wmi_remove_notify_handler (C function)c.wmi_remove_notify_handlerhNtauh1j9hhhhhNhNubjK)}(hhh](jP)}(h8acpi_status wmi_remove_notify_handler (const char *guid)h]jV)}(h7acpi_status wmi_remove_notify_handler(const char *guid)h](h)}(hhh]j)}(h acpi_statush]h acpi_status}(hj;hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj;ubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetj;modnameN classnameNj[ j^ )}ja ]jd )}jW wmi_remove_notify_handlersbc.wmi_remove_notify_handlerasbuh1hhj;hhhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMubjn)}(h h]h }(hj;hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj;hhhj;hMubj)}(hwmi_remove_notify_handlerh]j)}(hj;h]hwmi_remove_notify_handler}(hj;hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj;ubah}(h]h ](jjeh"]h$]h&]hhuh1j~hj;hhhj;hMubj )}(h(const char *guid)h]j )}(hconst char *guidh](j\)}(hj h]hconst}(hj;hhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hj;ubjn)}(h h]h }(hj<hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj;ubj)}(hcharh]hchar}(hj<hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj;ubjn)}(h h]h }(hj!<hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj;ubj)}(hjh]h*}(hj/<hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj;ubj)}(hguidh]hguid}(hj<<hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj;ubeh}(h]h ]h"]h$]h&]noemphhhuh1j hj;ubah}(h]h ]h"]h$]h&]hhuh1j hj;hhhj;hMubeh}(h]h ]h"]h$]h&]hhjuh1jUjjhj;hhhj;hMubah}(h]j;ah ](jjeh"]h$]h&]jj)jhuh1jOhj;hMhj;hhubj)}(hhh]h)}(h.Unregister handler for WMI events (deprecated)h]h.Unregister handler for WMI events (deprecated)}(hjf<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhjc<hhubah}(h]h ]h"]h$]h&]uh1jhj;hhhj;hMubeh}(h]h ](hfunctioneh"]h$]h&]jhjj~<jj~<jjjuh1jJhhhhhNhNubj)}(h**Parameters** ``const char *guid`` 36 char string of the form fa50ff2b-f2e8-45de-83fa-65417f2f49ba **Description** Unregister handler for events sent to the ACPI-WMI mapper device. **Return** acpi_status signaling success or error.h](h)}(h**Parameters**h]j)}(hj<h]h Parameters}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj<ubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhj<ubj&)}(hhh]j+)}(hU``const char *guid`` 36 char string of the form fa50ff2b-f2e8-45de-83fa-65417f2f49ba h](j1)}(h``const char *guid``h]h)}(hj<h]hconst char *guid}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj<ubah}(h]h ]h"]h$]h&]uh1j0hZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhj<ubjK)}(hhh]h)}(h?36 char string of the form fa50ff2b-f2e8-45de-83fa-65417f2f49bah]h?36 char string of the form fa50ff2b-f2e8-45de-83fa-65417f2f49ba}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj<hMhj<ubah}(h]h ]h"]h$]h&]uh1jJhj<ubeh}(h]h ]h"]h$]h&]uh1j*hj<hMhj<ubah}(h]h ]h"]h$]h&]uh1j%hj<ubh)}(h**Description**h]j)}(hj<h]h Description}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj<ubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhj<ubh)}(hAUnregister handler for events sent to the ACPI-WMI mapper device.h]hAUnregister handler for events sent to the ACPI-WMI mapper device.}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhj<ubh)}(h **Return**h]j)}(hj =h]hReturn}(hj =hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj=ubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhj<ubh)}(h'acpi_status signaling success or error.h]h'acpi_status signaling success or error.}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chMhj<ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhhhhhNhNubj:)}(hhh]h}(h]h ]h"]h$]h&]entries](jFwmi_has_guid (C function)c.wmi_has_guidhNtauh1j9hhhhhNhNubjK)}(hhh](jP)}(h+bool wmi_has_guid (const char *guid_string)h]jV)}(h*bool wmi_has_guid(const char *guid_string)h](j)}(hboolh]hbool}(hjN=hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjJ=hhhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM#ubjn)}(h h]h }(hj]=hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhjJ=hhhj\=hM#ubj)}(h wmi_has_guidh]j)}(h wmi_has_guidh]h wmi_has_guid}(hjo=hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjk=ubah}(h]h ](jjeh"]h$]h&]hhuh1j~hjJ=hhhj\=hM#ubj )}(h(const char *guid_string)h]j )}(hconst char *guid_stringh](j\)}(hj h]hconst}(hj=hhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hj=ubjn)}(h h]h }(hj=hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj=ubj)}(hcharh]hchar}(hj=hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj=ubjn)}(h h]h }(hj=hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj=ubj)}(hjh]h*}(hj=hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj=ubj)}(h guid_stringh]h guid_string}(hj=hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj=ubeh}(h]h ]h"]h$]h&]noemphhhuh1j hj=ubah}(h]h ]h"]h$]h&]hhuh1j hjJ=hhhj\=hM#ubeh}(h]h ]h"]h$]h&]hhjuh1jUjjhjF=hhhj\=hM#ubah}(h]jA=ah ](jjeh"]h$]h&]jj)jhuh1jOhj\=hM#hjC=hhubj)}(hhh]h)}(hCheck if a GUID is availableh]hCheck if a GUID is available}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM#hj=hhubah}(h]h ]h"]h$]h&]uh1jhjC=hhhj\=hM#ubeh}(h]h ](hfunctioneh"]h$]h&]jhjj>jj>jjjuh1jJhhhhhNhNubj)}(h**Parameters** ``const char *guid_string`` 36 char string of the form fa50ff2b-f2e8-45de-83fa-65417f2f49ba **Description** Check if a given GUID is defined by _WDG. **Return** True if GUID is available, false otherwise.h](h)}(h**Parameters**h]j)}(hj>h]h Parameters}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj>ubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM'hj>ubj&)}(hhh]j+)}(h\``const char *guid_string`` 36 char string of the form fa50ff2b-f2e8-45de-83fa-65417f2f49ba h](j1)}(h``const char *guid_string``h]h)}(hj:>h]hconst char *guid_string}(hj<>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj8>ubah}(h]h ]h"]h$]h&]uh1j0hZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM$hj4>ubjK)}(hhh]h)}(h?36 char string of the form fa50ff2b-f2e8-45de-83fa-65417f2f49bah]h?36 char string of the form fa50ff2b-f2e8-45de-83fa-65417f2f49ba}(hjS>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjO>hM$hjP>ubah}(h]h ]h"]h$]h&]uh1jJhj4>ubeh}(h]h ]h"]h$]h&]uh1j*hjO>hM$hj1>ubah}(h]h ]h"]h$]h&]uh1j%hj>ubh)}(h**Description**h]j)}(hju>h]h Description}(hjw>hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjs>ubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM&hj>ubh)}(h)Check if a given GUID is defined by _WDG.h]h)Check if a given GUID is defined by _WDG.}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM%hj>ubh)}(h **Return**h]j)}(hj>h]hReturn}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj>ubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM'hj>ubh)}(h+True if GUID is available, false otherwise.h]h+True if GUID is available, false otherwise.}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM(hj>ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhhhhhNhNubj:)}(hhh]h}(h]h ]h"]h$]h&]entries](jF$wmi_get_acpi_device_uid (C function)c.wmi_get_acpi_device_uidhNtauh1j9hhhhhNhNubjK)}(hhh](jP)}(h8char * wmi_get_acpi_device_uid (const char *guid_string)h]jV)}(h6char *wmi_get_acpi_device_uid(const char *guid_string)h](j)}(hcharh]hchar}(hj>hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj>hhhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM9ubjn)}(h h]h }(hj>hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj>hhhj>hM9ubj)}(hjh]h*}(hj>hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj>hhhj>hM9ubj)}(hwmi_get_acpi_device_uidh]j)}(hwmi_get_acpi_device_uidh]hwmi_get_acpi_device_uid}(hj?hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ?ubah}(h]h ](jjeh"]h$]h&]hhuh1j~hj>hhhj>hM9ubj )}(h(const char *guid_string)h]j )}(hconst char *guid_stringh](j\)}(hj h]hconst}(hj+?hhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hj'?ubjn)}(h h]h }(hj8?hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj'?ubj)}(hcharh]hchar}(hjF?hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj'?ubjn)}(h h]h }(hjT?hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj'?ubj)}(hjh]h*}(hjb?hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj'?ubj)}(h guid_stringh]h guid_string}(hjo?hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj'?ubeh}(h]h ]h"]h$]h&]noemphhhuh1j hj#?ubah}(h]h ]h"]h$]h&]hhuh1j hj>hhhj>hM9ubeh}(h]h ]h"]h$]h&]hhjuh1jUjjhj>hhhj>hM9ubah}(h]j>ah ](jjeh"]h$]h&]jj)jhuh1jOhj>hM9hj>hhubj)}(hhh]h)}(h;Get _UID name of ACPI device that defines GUID (deprecated)h]h;Get _UID name of ACPI device that defines GUID (deprecated)}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM9hj?hhubah}(h]h ]h"]h$]h&]uh1jhj>hhhj>hM9ubeh}(h]h ](hfunctioneh"]h$]h&]jhjj?jj?jjjuh1jJhhhhhNhNubj)}(hX **Parameters** ``const char *guid_string`` 36 char string of the form fa50ff2b-f2e8-45de-83fa-65417f2f49ba **Description** Find the _UID of ACPI device associated with this WMI GUID. **Return** The ACPI _UID field value or NULL if the WMI GUID was not found.h](h)}(h**Parameters**h]j)}(hj?h]h Parameters}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj?ubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM=hj?ubj&)}(hhh]j+)}(h\``const char *guid_string`` 36 char string of the form fa50ff2b-f2e8-45de-83fa-65417f2f49ba h](j1)}(h``const char *guid_string``h]h)}(hj?h]hconst char *guid_string}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?ubah}(h]h ]h"]h$]h&]uh1j0hZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM:hj?ubjK)}(hhh]h)}(h?36 char string of the form fa50ff2b-f2e8-45de-83fa-65417f2f49bah]h?36 char string of the form fa50ff2b-f2e8-45de-83fa-65417f2f49ba}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?hM:hj?ubah}(h]h ]h"]h$]h&]uh1jJhj?ubeh}(h]h ]h"]h$]h&]uh1j*hj?hM:hj?ubah}(h]h ]h"]h$]h&]uh1j%hj?ubh)}(h**Description**h]j)}(hj@h]h Description}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj@ubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM<hj?ubh)}(h;Find the _UID of ACPI device associated with this WMI GUID.h]h;Find the _UID of ACPI device associated with this WMI GUID.}(hj+@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM;hj?ubh)}(h **Return**h]j)}(hj<@h]hReturn}(hj>@hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj:@ubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM=hj?ubh)}(h@The ACPI _UID field value or NULL if the WMI GUID was not found.h]h@The ACPI _UID field value or NULL if the WMI GUID was not found.}(hjR@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM>hj?ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhhhhhNhNubj:)}(hhh]h}(h]h ]h"]h$]h&]entries](jF"wmi_driver_unregister (C function)c.wmi_driver_unregisterhNtauh1j9hhhhhNhNubjK)}(hhh](jP)}(h6void wmi_driver_unregister (struct wmi_driver *driver)h]jV)}(h5void wmi_driver_unregister(struct wmi_driver *driver)h](j)}(hvoidh]hvoid}(hj@hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj}@hhhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM ubjn)}(h h]h }(hj@hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj}@hhhj@hM ubj)}(hwmi_driver_unregisterh]j)}(hwmi_driver_unregisterh]hwmi_driver_unregister}(hj@hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj@ubah}(h]h ](jjeh"]h$]h&]hhuh1j~hj}@hhhj@hM ubj )}(h(struct wmi_driver *driver)h]j )}(hstruct wmi_driver *driverh](j\)}(hj_h]hstruct}(hj@hhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hj@ubjn)}(h h]h }(hj@hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj@ubh)}(hhh]j)}(h wmi_driverh]h wmi_driver}(hj@hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj@ubah}(h]h ]h"]h$]h&] refdomainhreftypejW reftargetj@modnameN classnameNj[ j^ )}ja ]jd )}jW j@sbc.wmi_driver_unregisterasbuh1hhj@ubjn)}(h h]h }(hj@hhhNhNubah}(h]h ]jzah"]h$]h&]uh1jmhj@ubj)}(hjh]h*}(hj AhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj@ubj)}(hdriverh]hdriver}(hjAhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj@ubeh}(h]h ]h"]h$]h&]noemphhhuh1j hj@ubah}(h]h ]h"]h$]h&]hhuh1j hj}@hhhj@hM ubeh}(h]h ]h"]h$]h&]hhjuh1jUjjhjy@hhhj@hM ubah}(h]jt@ah ](jjeh"]h$]h&]jj)jhuh1jOhj@hM hjv@hhubj)}(hhh]h)}(hUnregister a WMI driverh]hUnregister a WMI driver}(hjAAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM hj>Ahhubah}(h]h ]h"]h$]h&]uh1jhjv@hhhj@hM ubeh}(h]h ](hfunctioneh"]h$]h&]jhjjYAjjYAjjjuh1jJhhhhhNhNubj)}(h**Parameters** ``struct wmi_driver *driver`` WMI driver to unregister **Description** Unregisters a WMI driver from the WMI bus.h](h)}(h**Parameters**h]j)}(hjcAh]h Parameters}(hjeAhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjaAubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM hj]Aubj&)}(hhh]j+)}(h7``struct wmi_driver *driver`` WMI driver to unregister h](j1)}(h``struct wmi_driver *driver``h]h)}(hjAh]hstruct wmi_driver *driver}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjAubah}(h]h ]h"]h$]h&]uh1j0hZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM hj|AubjK)}(hhh]h)}(hWMI driver to unregisterh]hWMI driver to unregister}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjAhM hjAubah}(h]h ]h"]h$]h&]uh1jJhj|Aubeh}(h]h ]h"]h$]h&]uh1j*hjAhM hjyAubah}(h]h ]h"]h$]h&]uh1j%hj]Aubh)}(h**Description**h]j)}(hjAh]h Description}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjAubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.chM hj]Aubh)}(h*Unregisters a WMI driver from the WMI bus.h]h*Unregisters a WMI driver from the WMI bus.}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/driver-api/wmi:22: ./drivers/platform/wmi/core.cg hM hj]Aubeh}(h]h ] kernelindentah"]h$]h&]uh1jhhhhhNhNubeh}(h]wmi-driver-apiah ]h"]wmi driver apiah$]h&]uh1hhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksentryfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerjBerror_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourcehnj _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}nameids}jAjAs nametypes}jAsh}(jAhjHjQjjjjjXj]jjj j j j" j' j, j1 j6 j'j,jjj#j(jjjj jCjHj#j#j['j`'j?*jD*j,j,j 0j0j2j2j5j5j8j8j;j;jA=jF=j>j>jt@jy@u footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages]transform_messages] transformerN include_log] decorationNhhub.