xref: /linux-6.15/include/linux/gpio_keys.h (revision 71ccc212)
1 #ifndef _GPIO_KEYS_H
2 #define _GPIO_KEYS_H
3 
4 struct gpio_keys_button {
5 	/* Configuration parameters */
6 	int code;		/* input event code (KEY_*, SW_*) */
7 	int gpio;
8 	int active_low;
9 	char *desc;
10 	int type;		/* input event type (EV_KEY, EV_SW) */
11 	int wakeup;		/* configure the button as a wake-up source */
12 	int debounce_interval;	/* debounce ticks interval in msecs */
13 	bool can_disable;
14 };
15 
16 struct gpio_keys_platform_data {
17 	struct gpio_keys_button *buttons;
18 	int nbuttons;
19 	unsigned int rep:1;		/* enable input subsystem auto repeat */
20 	int (*enable)(struct device *dev);
21 	void (*disable)(struct device *dev);
22 };
23 
24 #endif
25