xref: /linux/drivers/hid/intel-thc-hid/intel-thc/intel-thc-wot.h (revision b80a75cf6999fb79971b41eaec7af2bb4b514714)
1*dcb2ccb9SEven Xu // SPDX-License-Identifier: GPL-2.0
2*dcb2ccb9SEven Xu /* Copyright (c) 2025 Intel Corporation */
3*dcb2ccb9SEven Xu 
4*dcb2ccb9SEven Xu #ifndef _INTEL_THC_WOT_H_
5*dcb2ccb9SEven Xu #define _INTEL_THC_WOT_H_
6*dcb2ccb9SEven Xu 
7*dcb2ccb9SEven Xu #include <linux/types.h>
8*dcb2ccb9SEven Xu 
9*dcb2ccb9SEven Xu #include <linux/gpio/consumer.h>
10*dcb2ccb9SEven Xu 
11*dcb2ccb9SEven Xu /**
12*dcb2ccb9SEven Xu  * struct thc_wot - THC Wake-on-Touch data structure
13*dcb2ccb9SEven Xu  * @gpio_irq : GPIO interrupt IRQ number for wake-on-touch
14*dcb2ccb9SEven Xu  * @gpio_irq_wakeable : Indicate GPIO IRQ workable or not
15*dcb2ccb9SEven Xu  */
16*dcb2ccb9SEven Xu struct thc_wot {
17*dcb2ccb9SEven Xu 	int gpio_irq;
18*dcb2ccb9SEven Xu 	bool gpio_irq_wakeable;
19*dcb2ccb9SEven Xu };
20*dcb2ccb9SEven Xu 
21*dcb2ccb9SEven Xu struct thc_device;
22*dcb2ccb9SEven Xu 
23*dcb2ccb9SEven Xu void thc_wot_config(struct thc_device *thc_dev, const struct acpi_gpio_mapping *gpio_map);
24*dcb2ccb9SEven Xu void thc_wot_unconfig(struct thc_device *thc_dev);
25*dcb2ccb9SEven Xu 
26*dcb2ccb9SEven Xu #endif /* _INTEL_THC_WOT_H_ */
27