include/linux/platform_data/x86/asus-wmi.h

Source file repositories/reference/linux-study-clean/include/linux/platform_data/x86/asus-wmi.h

File Facts

System
Linux kernel
Corpus path
include/linux/platform_data/x86/asus-wmi.h
Extension
.h
Size
8128 bytes
Lines
233
Domain
Core OS
Bucket
Core Kernel Interface
Inferred role
Core OS: implementation source
Status
source implementation candidate

Why This File Exists

Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.

Dependency Surface

Detected Declarations

Annotated Snippet

struct asus_hid_listener {
	struct list_head list;
	void (*brightness_set)(struct asus_hid_listener *listener, int brightness);
};

enum asus_hid_event {
	ASUS_EV_BRTUP,
	ASUS_EV_BRTDOWN,
	ASUS_EV_BRTTOGGLE,
};

#define ASUS_EV_MAX_BRIGHTNESS 3

#if IS_REACHABLE(CONFIG_ASUS_WMI)
void set_ally_mcu_hack(enum asus_ally_mcu_hack status);
void set_ally_mcu_powersave(bool enabled);
int asus_wmi_get_devstate_dsts(u32 dev_id, u32 *retval);
int asus_wmi_set_devstate(u32 dev_id, u32 ctrl_param, u32 *retval);
int asus_wmi_evaluate_method(u32 method_id, u32 arg0, u32 arg1, u32 *retval);
int asus_hid_register_listener(struct asus_hid_listener *cdev);
void asus_hid_unregister_listener(struct asus_hid_listener *cdev);
int asus_hid_event(enum asus_hid_event event);
#else
static inline void set_ally_mcu_hack(enum asus_ally_mcu_hack status)
{
}
static inline void set_ally_mcu_powersave(bool enabled)
{
}
static inline int asus_wmi_set_devstate(u32 dev_id, u32 ctrl_param, u32 *retval)
{
	return -ENODEV;
}
static inline int asus_wmi_get_devstate_dsts(u32 dev_id, u32 *retval)
{
	return -ENODEV;
}
static inline int asus_wmi_evaluate_method(u32 method_id, u32 arg0, u32 arg1,
					   u32 *retval)
{
	return -ENODEV;
}
static inline int asus_hid_register_listener(struct asus_hid_listener *bdev)
{
	return -ENODEV;
}
static inline void asus_hid_unregister_listener(struct asus_hid_listener *bdev)
{
}
static inline int asus_hid_event(enum asus_hid_event event)
{
	return -ENODEV;
}
#endif

#endif	/* __PLATFORM_DATA_X86_ASUS_WMI_H */

Annotation

Implementation Notes