mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-12 05:48:40 +00:00
![Mika Westerberg](/assets/img/avatar_default.png)
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>
22 lines
546 B
C
22 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
|