aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-pxa/tosa.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2008-02-07 15:57:44 -0500
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2008-02-07 15:57:44 -0500
commit6e5565f949af1322f8f3d3f43d044645ae448499 (patch)
tree92868f6d3dcc6c105a0d35f9412f75c07139402e /arch/arm/mach-pxa/tosa.c
parente5a9e8e6890d9b9c7a0f25b03ffdaf28614a9a4c (diff)
parent03366e7b9bf1544cb0b98f1a5cd6d340654f486a (diff)
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (34 commits) Input: i8042 - non-x86 build fix Input: pxa27x_keypad - also enable on PXA3xx Input: pxa27x_keypad - add debounce_interval to the keypad platform data Input: pxa27x_keypad - use device resources for I/O memory mapping and IRQ Input: pxa27x_keypad - enable rotary encoders and direct keys Input: pxa27x_keypad - introduce pxa27x_keypad_config() Input: pxa27x_keypad - introduce driver structure and use KEY() to define matrix keys Input: pxa27x_keypad - remove pin configuration from the driver Input: pxa27x_keypad - rename the driver (was pxa27x_keyboard) Input: constify function pointer tables (seq_operations) Input: i8042 - add Fujitsu-Siemens Amilo Pro 2010 to nomux list Input: i8042 - enable DMI quirks on x86-64 Input: i8042 - add Dritek quirk for Acer Aspire 9110 Input: add input event to APM event bridge Input: mousedev - use BIT_MASK instead of BIT Input: remove duplicate includes Input: remove cdev from input_dev structure Input: remove duplicated headers in drivers/char/keyboard.c Input: i8042 - add Dritek keyboard extension quirk Input: add Tosa keyboard driver ...
Diffstat (limited to 'arch/arm/mach-pxa/tosa.c')
-rw-r--r--arch/arm/mach-pxa/tosa.c43
1 files changed, 43 insertions, 0 deletions
diff --git a/arch/arm/mach-pxa/tosa.c b/arch/arm/mach-pxa/tosa.c
index 9b26fa5edad6..f99112d50b41 100644
--- a/arch/arm/mach-pxa/tosa.c
+++ b/arch/arm/mach-pxa/tosa.c
@@ -21,6 +21,8 @@
21#include <linux/mmc/host.h> 21#include <linux/mmc/host.h>
22#include <linux/pm.h> 22#include <linux/pm.h>
23#include <linux/delay.h> 23#include <linux/delay.h>
24#include <linux/gpio_keys.h>
25#include <linux/input.h>
24 26
25#include <asm/setup.h> 27#include <asm/setup.h>
26#include <asm/memory.h> 28#include <asm/memory.h>
@@ -246,6 +248,46 @@ static struct platform_device tosakbd_device = {
246 .id = -1, 248 .id = -1,
247}; 249};
248 250
251static struct gpio_keys_button tosa_gpio_keys[] = {
252 {
253 .type = EV_PWR,
254 .code = KEY_SUSPEND,
255 .gpio = TOSA_GPIO_ON_KEY,
256 .desc = "On key",
257 .wakeup = 1,
258 .active_low = 1,
259 },
260 {
261 .type = EV_KEY,
262 .code = TOSA_KEY_RECORD,
263 .gpio = TOSA_GPIO_RECORD_BTN,
264 .desc = "Record Button",
265 .wakeup = 1,
266 .active_low = 1,
267 },
268 {
269 .type = EV_KEY,
270 .code = TOSA_KEY_SYNC,
271 .gpio = TOSA_GPIO_SYNC,
272 .desc = "Sync Button",
273 .wakeup = 1,
274 .active_low = 1,
275 },
276};
277
278static struct gpio_keys_platform_data tosa_gpio_keys_platform_data = {
279 .buttons = tosa_gpio_keys,
280 .nbuttons = ARRAY_SIZE(tosa_gpio_keys),
281};
282
283static struct platform_device tosa_gpio_keys_device = {
284 .name = "gpio-keys",
285 .id = -1,
286 .dev = {
287 .platform_data = &tosa_gpio_keys_platform_data,
288 },
289};
290
249/* 291/*
250 * Tosa LEDs 292 * Tosa LEDs
251 */ 293 */
@@ -258,6 +300,7 @@ static struct platform_device *devices[] __initdata = {
258 &tosascoop_device, 300 &tosascoop_device,
259 &tosascoop_jc_device, 301 &tosascoop_jc_device,
260 &tosakbd_device, 302 &tosakbd_device,
303 &tosa_gpio_keys_device,
261 &tosaled_device, 304 &tosaled_device,
262}; 305};
263 306