]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/blackfin/mach-bf533/boards/ezkit.c
[Blackfin] arch: replace current blackfin specific pfbutton driver with kernel generi...
[linux-2.6-omap-h63xx.git] / arch / blackfin / mach-bf533 / boards / ezkit.c
index be852034a68b3e3cfb0f00b82f338e6da1eaac16..ead5c12cbe90316761b10242f6ef03e24247c496 100644 (file)
@@ -256,6 +256,30 @@ static struct platform_device bfin_pata_device = {
 };
 #endif
 
+#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
+#include <linux/input.h>
+#include <linux/gpio_keys.h>
+
+static struct gpio_keys_button bfin_gpio_keys_table[] = {
+       {BTN_0, GPIO_PF7, 1, "gpio-keys: BTN0"},
+       {BTN_1, GPIO_PF8, 1, "gpio-keys: BTN1"},
+       {BTN_2, GPIO_PF9, 1, "gpio-keys: BTN2"},
+       {BTN_3, GPIO_PF10, 1, "gpio-keys: BTN3"},
+};
+
+static struct gpio_keys_platform_data bfin_gpio_keys_data = {
+       .buttons        = bfin_gpio_keys_table,
+       .nbuttons       = ARRAY_SIZE(bfin_gpio_keys_table),
+};
+
+static struct platform_device bfin_device_gpiokeys = {
+       .name      = "gpio-keys",
+       .dev = {
+               .platform_data = &bfin_gpio_keys_data,
+       },
+};
+#endif
+
 static struct platform_device *ezkit_devices[] __initdata = {
 #if defined(CONFIG_SMC91X) || defined(CONFIG_SMC91X_MODULE)
        &smc91x_device,
@@ -280,6 +304,10 @@ static struct platform_device *ezkit_devices[] __initdata = {
 #if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE)
        &bfin_pata_device,
 #endif
+
+#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
+       &bfin_device_gpiokeys,
+#endif
 };
 
 static int __init ezkit_init(void)