mirror of
				https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
				synced 2025-10-31 18:53:24 +00:00 
			
		
		
		
	 9e3af04f87
			
		
	
	
		9e3af04f87
		
	
	
	
	
		
			
			Now gpio-keys input driver exports 4 new attributes to userland through sysfs: /sys/devices/platform/gpio-keys/keys [ro] /sys/devices/platform/gpio-keys/switches [ro] /sys/devices/platform/gpio-keys/disabled_keys [rw] /sys/devices/platform/gpio-keys/disables_switches [rw] With these attributes, userland program can read which keys and switches can be disabled and then disable/enable them as needed. Keys and switches are exported as stringified bitmap of codes (keycodes or switch codes). For example keys 15, 89, 100, 101, 102 are exported as: '15,89,100-102'. Description of the attributes: keys - bitmap of keys which can be disabled switches - bitmap of switches which can be disabled disabled_keys - bitmap of currently disabled keys (bit 1 means disabled, 0 enabled) disabled_switches - bitmap of currently disabled switches (bit 1 means disabled, 0 enabled) Signed-off-by: Mika Westerberg <ext-mika.1.westerberg@nokia.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
		
			
				
	
	
		
			23 lines
		
	
	
		
			546 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			546 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifndef _GPIO_KEYS_H
 | |
| #define _GPIO_KEYS_H
 | |
| 
 | |
| struct gpio_keys_button {
 | |
| 	/* Configuration parameters */
 | |
| 	int code;		/* input event code (KEY_*, SW_*) */
 | |
| 	int gpio;
 | |
| 	int active_low;
 | |
| 	char *desc;
 | |
| 	int type;		/* input event type (EV_KEY, EV_SW) */
 | |
| 	int wakeup;		/* configure the button as a wake-up source */
 | |
| 	int debounce_interval;	/* debounce ticks interval in msecs */
 | |
| 	bool can_disable;
 | |
| };
 | |
| 
 | |
| struct gpio_keys_platform_data {
 | |
| 	struct gpio_keys_button *buttons;
 | |
| 	int nbuttons;
 | |
| 	unsigned int rep:1;		/* enable input subsystem auto repeat */
 | |
| };
 | |
| 
 | |
| #endif
 |