From 93e9012f40f75b8ab8a37deaf532b3c5e9b527c6 Mon Sep 17 00:00:00 2001 From: Dmitry Baryshkov Date: Mon, 21 Jan 2008 01:04:20 -0500 Subject: Input: add Tosa keyboard driver Add keyboard support on tosa (Sharp Zaurus SL-6000x). Largely based on patches by Dirk Opfer. Signed-off-by: Dmitry Baryshkov Signed-off-by: Dmitry Torokhov --- arch/arm/mach-pxa/tosa.c | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) (limited to 'arch') diff --git a/arch/arm/mach-pxa/tosa.c b/arch/arm/mach-pxa/tosa.c index 240fd042083d..e7e0f52d6083 100644 --- a/arch/arm/mach-pxa/tosa.c +++ b/arch/arm/mach-pxa/tosa.c @@ -21,6 +21,8 @@ #include #include #include +#include +#include #include #include @@ -253,6 +255,46 @@ static struct platform_device tosakbd_device = { .id = -1, }; +static struct gpio_keys_button tosa_gpio_keys[] = { + { + .type = EV_PWR, + .code = KEY_SUSPEND, + .gpio = TOSA_GPIO_ON_KEY, + .desc = "On key", + .wakeup = 1, + .active_low = 1, + }, + { + .type = EV_KEY, + .code = TOSA_KEY_RECORD, + .gpio = TOSA_GPIO_RECORD_BTN, + .desc = "Record Button", + .wakeup = 1, + .active_low = 1, + }, + { + .type = EV_KEY, + .code = TOSA_KEY_SYNC, + .gpio = TOSA_GPIO_SYNC, + .desc = "Sync Button", + .wakeup = 1, + .active_low = 1, + }, +}; + +static struct gpio_keys_platform_data tosa_gpio_keys_platform_data = { + .buttons = tosa_gpio_keys, + .nbuttons = ARRAY_SIZE(tosa_gpio_keys), +}; + +static struct platform_device tosa_gpio_keys_device = { + .name = "gpio-keys", + .id = -1, + .dev = { + .platform_data = &tosa_gpio_keys_platform_data, + }, +}; + /* * Tosa LEDs */ @@ -265,6 +307,7 @@ static struct platform_device *devices[] __initdata = { &tosascoop_device, &tosascoop_jc_device, &tosakbd_device, + &tosa_gpio_keys_device, &tosaled_device, }; -- cgit v1.2.2