21 lines
		
	
	
		
			795 B
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			795 B
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
| .. SPDX-License-Identifier: GPL-2.0-or-later
 | |
| 
 | |
| ==============
 | |
| WMI Driver API
 | |
| ==============
 | |
| 
 | |
| The WMI driver core supports a more modern bus-based interface for interacting
 | |
| with WMI devices, and an older GUID-based interface. The latter interface is
 | |
| considered to be deprecated, so new WMI drivers should generally avoid it since
 | |
| it has some issues with multiple WMI devices sharing the same GUID.
 | |
| The modern bus-based interface instead maps each WMI device to a
 | |
| :c:type:`struct wmi_device <wmi_device>`, so it supports WMI devices sharing the
 | |
| same GUID. Drivers can then register a :c:type:`struct wmi_driver <wmi_driver>`
 | |
| which will be bound to compatible WMI devices by the driver core.
 | |
| 
 | |
| .. kernel-doc:: include/linux/wmi.h
 | |
|    :internal:
 | |
| 
 | |
| .. kernel-doc:: drivers/platform/x86/wmi.c
 | |
|    :export:
 |