Index: linux-2.6.24.2/arch/arm/mach-pxa/ezx-a910.c =================================================================== --- linux-2.6.24.2.orig/arch/arm/mach-pxa/ezx-a910.c +++ linux-2.6.24.2/arch/arm/mach-pxa/ezx-a910.c @@ -16,6 +16,7 @@ #include #include #include +#include #include #include @@ -302,10 +303,33 @@ */ }; +/* Flip */ +#undef GPIO_FLIP_PIN +#define GPIO_FLIP_PIN 15 /* FIXME */ +static struct gpio_keys_button a910flip_buttons[] = { + [0] = { + .code = KEY_SLEEP, + .gpio = GPIO_FLIP_PIN, + .desc = "a910 flip", + }, +}; + +static struct gpio_keys_platform_data a910flip_platform_data = { + .buttons = a910flip_buttons, + .nbuttons = 1, +}; +static struct platform_device a910flip_device = { + .name = "gpio-keys", + .id = -1, + .dev = { + .platform_data = &a910flip_platform_data, + }, +}; static struct platform_device *devices[] __initdata = { &a910_pcap_device, &a910_eoc_device, + &a910flip_device, }; static void __init a910_init(void)