/** * struct wmi_device - WMI device structure * @dev: Device associated with this WMI device * @setable: True for devices implementing the Set Control Method * @driver_override: Driver name to force a match; do not set directly, * because core frees it; use driver_set_override() to * set or clear it. * * This represents WMI devices discovered by the WMI driver core.
*/ struct wmi_device { struct device dev; bool setable; constchar *driver_override;
};
/** * to_wmi_device() - Helper macro to cast a device to a wmi_device * @device: device struct * * Cast a struct device to a struct wmi_device.
*/ #define to_wmi_device(device) container_of_const(device, struct wmi_device, dev)
/** * to_wmi_driver() - Helper macro to cast a driver to a wmi_driver * @drv: driver struct * * Cast a struct device_driver to a struct wmi_driver.
*/ #define to_wmi_driver(drv) container_of_const(drv, struct wmi_driver, driver)
/** * wmi_driver_register() - Helper macro to register a WMI driver * @driver: wmi_driver struct * * Helper macro for registering a WMI driver. It automatically passes * THIS_MODULE to the underlying function.
*/ #define wmi_driver_register(driver) __wmi_driver_register((driver), THIS_MODULE)
/** * module_wmi_driver() - Helper macro to register/unregister a WMI driver * @__wmi_driver: wmi_driver struct * * 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().
*/ #define module_wmi_driver(__wmi_driver) \
module_driver(__wmi_driver, wmi_driver_register, \
wmi_driver_unregister)
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.