wmi: add ACPI WMI implementation
add a WMI Asus driver, to control keyboard backlight brightness. Change-Id: Ib86f70b4a407178b0a1f532269387a55915cc460 Reviewed-on: https://review.haiku-os.org/c/haiku/+/2485 Reviewed-by: Fredrik Holmqvist <[email protected]> Reviewed-by: Adrien Destugues <[email protected]>
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
* Copyright 2020, Haiku, Inc. All Rights Reserved.
|
||||
* Distributed under the terms of the MIT License.
|
||||
*/
|
||||
#ifndef _WMI_H_
|
||||
#define _WMI_H_
|
||||
|
||||
|
||||
#include <ACPI.h>
|
||||
#include <device_manager.h>
|
||||
#include <KernelExport.h>
|
||||
|
||||
|
||||
|
||||
// Device node
|
||||
|
||||
// guid (string)
|
||||
#define WMI_GUID_STRING_ITEM "wmi/guid_string"
|
||||
|
||||
// node type
|
||||
#define WMI_DEVICE_TYPE_NAME "wmi/device/v1"
|
||||
|
||||
// device cookie, issued by wmi bus manager
|
||||
typedef void* wmi_device;
|
||||
|
||||
|
||||
// bus manager device interface for peripheral driver
|
||||
typedef struct {
|
||||
driver_module_info info;
|
||||
|
||||
status_t (*evaluate_method)(wmi_device device, uint8 instance,
|
||||
uint32 methodId, const acpi_data* in, acpi_data* out);
|
||||
status_t (*install_event_handler)(wmi_device device,
|
||||
const char* guidString, acpi_notify_handler handler, void* context);
|
||||
status_t (*remove_event_handler)(wmi_device device,
|
||||
const char* guidString);
|
||||
status_t (*get_event_data)(wmi_device device, uint32 notify,
|
||||
acpi_data* out);
|
||||
const char* (*get_uid)(wmi_device device);
|
||||
} wmi_device_interface;
|
||||
|
||||
|
||||
#endif /* _WMI_H_ */
|
||||
Reference in New Issue
Block a user