diff options
author | Laxman Dewangan <ldewangan@nvidia.com> | 2011-03-08 20:45:10 +0530 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2011-04-26 15:53:38 -0700 |
commit | 3e13361a4414a2dbcee574fb43bf65b01c21f6d0 (patch) | |
tree | c2a14f886d0ffd9612ef4b10ed5458b57177c67c /include | |
parent | ad9a382e46f92cc9249adf067ba9b5fe1cc37685 (diff) |
input: keyboard: Adding keys support through interrupt lines
Adding keys support which are directly connected to interrupt lines.
Original-Change-Id: Ib26c06b170b82f4745e758be80b3e04122ad1d6c
Reviewed-on: http://git-master/r/22069
Tested-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
Change-Id: I3921cc88f32558282654fbd36243b4b0b3574133
Diffstat (limited to 'include')
-rwxr-xr-x | include/linux/interrupt_keys.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/include/linux/interrupt_keys.h b/include/linux/interrupt_keys.h new file mode 100755 index 000000000000..8be6e9a6b0a0 --- /dev/null +++ b/include/linux/interrupt_keys.h @@ -0,0 +1,47 @@ +/* + * include/linux/interrupt_keys.h + * + * Key driver for keys directly connected to intrrupt lines. + * + * Copyright (c) 2011, NVIDIA Corporation. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef _INTERRUPT_KEYS_H +#define _INTERRUPT_KEYS_H + +struct interrupt_keys_button { + /* Configuration parameters */ + int code; /* input event code (KEY_*, SW_*) */ + int irq; + int active_low; + char *desc; + int type; /* input event type (EV_KEY, EV_SW) */ + int wakeup; /* configure the interrupt source as a wake-up + * source */ + int debounce_interval; /* debounce ticks interval in msecs */ + bool can_disable; +}; + +struct interrupt_keys_platform_data { + struct interrupt_keys_button *int_buttons; + int nbuttons; + unsigned int rep:1; /* enable input subsystem auto repeat */ + int (*enable)(struct device *dev); + void (*disable)(struct device *dev); +}; + +#endif |