|
@@ -246,6 +246,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_PF5, 1, "gpio-keys: BTN0"},
|
|
|
+ {BTN_1, GPIO_PF6, 1, "gpio-keys: BTN1"},
|
|
|
+ {BTN_2, GPIO_PF7, 1, "gpio-keys: BTN2"},
|
|
|
+ {BTN_3, GPIO_PF8, 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,
|
|
@@ -258,12 +282,18 @@ static struct platform_device *ezkit_devices[] __initdata = {
|
|
|
#if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE)
|
|
|
&bfin_spi0_device,
|
|
|
#endif
|
|
|
+
|
|
|
#if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE)
|
|
|
&bfin_uart_device,
|
|
|
#endif
|
|
|
+
|
|
|
#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)
|