Index: linux-2.6.23/arch/arm/mach-pxa/ezx-a780.c =================================================================== --- linux-2.6.23.orig/arch/arm/mach-pxa/ezx-a780.c 2007-10-23 19:37:58.000000000 +0200 +++ linux-2.6.23/arch/arm/mach-pxa/ezx-a780.c 2007-10-23 19:38:04.000000000 +0200 @@ -18,6 +18,7 @@ #include #include #include +#include #include #include @@ -312,10 +313,33 @@ .resource = pcap_ts_resources, }; +static struct gpio_keys_button a780flip_buttons[] = { + [0] = { + .code = KEY_SLEEP, + .gpio = GPIO_FLIP_PIN, + .desc = "A780 flip", + }, +}; + +static struct gpio_keys_platform_data a780flip_platform_data = { + .buttons = a780flip_buttons, + .nbuttons = 1, +}; + +static struct platform_device a780flip_device = { + .name = "gpio-keys", + .id = -1, + .dev = { + .platform_data = &a780flip_platform_data, + }, +}; + + static struct platform_device *devices[] __initdata = { &a780_pcap_device, &a780_emu_device, &pcap_ts_device, + &a780flip_device, }; static void __init a780_init(void)