aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/blackfin/mach-bf533/boards/ezkit.c28
-rw-r--r--arch/blackfin/mach-bf533/boards/stamp.c27
-rw-r--r--arch/blackfin/mach-bf537/boards/stamp.c28
-rw-r--r--arch/blackfin/mach-bf548/boards/ezkit.c27
-rw-r--r--arch/blackfin/mach-bf561/boards/ezkit.c30
5 files changed, 140 insertions, 0 deletions
diff --git a/arch/blackfin/mach-bf533/boards/ezkit.c b/arch/blackfin/mach-bf533/boards/ezkit.c
index be852034a68b..ead5c12cbe90 100644
--- a/arch/blackfin/mach-bf533/boards/ezkit.c
+++ b/arch/blackfin/mach-bf533/boards/ezkit.c
@@ -256,6 +256,30 @@ static struct platform_device bfin_pata_device = {
256}; 256};
257#endif 257#endif
258 258
259#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
260#include <linux/input.h>
261#include <linux/gpio_keys.h>
262
263static struct gpio_keys_button bfin_gpio_keys_table[] = {
264 {BTN_0, GPIO_PF7, 1, "gpio-keys: BTN0"},
265 {BTN_1, GPIO_PF8, 1, "gpio-keys: BTN1"},
266 {BTN_2, GPIO_PF9, 1, "gpio-keys: BTN2"},
267 {BTN_3, GPIO_PF10, 1, "gpio-keys: BTN3"},
268};
269
270static struct gpio_keys_platform_data bfin_gpio_keys_data = {
271 .buttons = bfin_gpio_keys_table,
272 .nbuttons = ARRAY_SIZE(bfin_gpio_keys_table),
273};
274
275static struct platform_device bfin_device_gpiokeys = {
276 .name = "gpio-keys",
277 .dev = {
278 .platform_data = &bfin_gpio_keys_data,
279 },
280};
281#endif
282
259static struct platform_device *ezkit_devices[] __initdata = { 283static struct platform_device *ezkit_devices[] __initdata = {
260#if defined(CONFIG_SMC91X) || defined(CONFIG_SMC91X_MODULE) 284#if defined(CONFIG_SMC91X) || defined(CONFIG_SMC91X_MODULE)
261 &smc91x_device, 285 &smc91x_device,
@@ -280,6 +304,10 @@ static struct platform_device *ezkit_devices[] __initdata = {
280#if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) 304#if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE)
281 &bfin_pata_device, 305 &bfin_pata_device,
282#endif 306#endif
307
308#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
309 &bfin_device_gpiokeys,
310#endif
283}; 311};
284 312
285static int __init ezkit_init(void) 313static int __init ezkit_init(void)
diff --git a/arch/blackfin/mach-bf533/boards/stamp.c b/arch/blackfin/mach-bf533/boards/stamp.c
index 8fde8d832850..689816937703 100644
--- a/arch/blackfin/mach-bf533/boards/stamp.c
+++ b/arch/blackfin/mach-bf533/boards/stamp.c
@@ -373,6 +373,29 @@ static struct platform_device bfin_pata_device = {
373}; 373};
374#endif 374#endif
375 375
376#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
377#include <linux/input.h>
378#include <linux/gpio_keys.h>
379
380static struct gpio_keys_button bfin_gpio_keys_table[] = {
381 {BTN_0, GPIO_PF5, 1, "gpio-keys: BTN0"},
382 {BTN_1, GPIO_PF6, 1, "gpio-keys: BTN1"},
383 {BTN_2, GPIO_PF8, 1, "gpio-keys: BTN2"},
384};
385
386static struct gpio_keys_platform_data bfin_gpio_keys_data = {
387 .buttons = bfin_gpio_keys_table,
388 .nbuttons = ARRAY_SIZE(bfin_gpio_keys_table),
389};
390
391static struct platform_device bfin_device_gpiokeys = {
392 .name = "gpio-keys",
393 .dev = {
394 .platform_data = &bfin_gpio_keys_data,
395 },
396};
397#endif
398
376static struct platform_device *stamp_devices[] __initdata = { 399static struct platform_device *stamp_devices[] __initdata = {
377#if defined(CONFIG_RTC_DRV_BFIN) || defined(CONFIG_RTC_DRV_BFIN_MODULE) 400#if defined(CONFIG_RTC_DRV_BFIN) || defined(CONFIG_RTC_DRV_BFIN_MODULE)
378 &rtc_device, 401 &rtc_device,
@@ -406,6 +429,10 @@ static struct platform_device *stamp_devices[] __initdata = {
406#if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) 429#if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE)
407 &bfin_pata_device, 430 &bfin_pata_device,
408#endif 431#endif
432
433#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
434 &bfin_device_gpiokeys,
435#endif
409}; 436};
410 437
411static int __init stamp_init(void) 438static int __init stamp_init(void)
diff --git a/arch/blackfin/mach-bf537/boards/stamp.c b/arch/blackfin/mach-bf537/boards/stamp.c
index 07b0dc273d2f..3e0ad04d8d75 100644
--- a/arch/blackfin/mach-bf537/boards/stamp.c
+++ b/arch/blackfin/mach-bf537/boards/stamp.c
@@ -103,6 +103,30 @@ void __exit bfin_isp1761_exit(void)
103arch_initcall(bfin_isp1761_init); 103arch_initcall(bfin_isp1761_init);
104#endif 104#endif
105 105
106#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
107#include <linux/input.h>
108#include <linux/gpio_keys.h>
109
110static struct gpio_keys_button bfin_gpio_keys_table[] = {
111 {BTN_0, GPIO_PF2, 1, "gpio-keys: BTN0"},
112 {BTN_1, GPIO_PF3, 1, "gpio-keys: BTN1"},
113 {BTN_2, GPIO_PF4, 1, "gpio-keys: BTN2"},
114 {BTN_3, GPIO_PF5, 1, "gpio-keys: BTN3"},
115};
116
117static struct gpio_keys_platform_data bfin_gpio_keys_data = {
118 .buttons = bfin_gpio_keys_table,
119 .nbuttons = ARRAY_SIZE(bfin_gpio_keys_table),
120};
121
122static struct platform_device bfin_device_gpiokeys = {
123 .name = "gpio-keys",
124 .dev = {
125 .platform_data = &bfin_gpio_keys_data,
126 },
127};
128#endif
129
106#if defined(CONFIG_BFIN_CFPCMCIA) || defined(CONFIG_BFIN_CFPCMCIA_MODULE) 130#if defined(CONFIG_BFIN_CFPCMCIA) || defined(CONFIG_BFIN_CFPCMCIA_MODULE)
107static struct resource bfin_pcmcia_cf_resources[] = { 131static struct resource bfin_pcmcia_cf_resources[] = {
108 { 132 {
@@ -738,6 +762,10 @@ static struct platform_device *stamp_devices[] __initdata = {
738#if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) 762#if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE)
739 &bfin_pata_device, 763 &bfin_pata_device,
740#endif 764#endif
765
766#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
767 &bfin_device_gpiokeys,
768#endif
741}; 769};
742 770
743static int __init stamp_init(void) 771static int __init stamp_init(void)
diff --git a/arch/blackfin/mach-bf548/boards/ezkit.c b/arch/blackfin/mach-bf548/boards/ezkit.c
index 856b9db06663..4ca3288fd07c 100644
--- a/arch/blackfin/mach-bf548/boards/ezkit.c
+++ b/arch/blackfin/mach-bf548/boards/ezkit.c
@@ -514,6 +514,29 @@ static struct platform_device i2c_bfin_twi1_device = {
514#endif 514#endif
515#endif 515#endif
516 516
517#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
518#include <linux/gpio_keys.h>
519
520static struct gpio_keys_button bfin_gpio_keys_table[] = {
521 {BTN_0, GPIO_PB8, 1, "gpio-keys: BTN0"},
522 {BTN_1, GPIO_PB9, 1, "gpio-keys: BTN1"},
523 {BTN_2, GPIO_PB10, 1, "gpio-keys: BTN2"},
524 {BTN_3, GPIO_PB11, 1, "gpio-keys: BTN3"},
525};
526
527static struct gpio_keys_platform_data bfin_gpio_keys_data = {
528 .buttons = bfin_gpio_keys_table,
529 .nbuttons = ARRAY_SIZE(bfin_gpio_keys_table),
530};
531
532static struct platform_device bfin_device_gpiokeys = {
533 .name = "gpio-keys",
534 .dev = {
535 .platform_data = &bfin_gpio_keys_data,
536 },
537};
538#endif
539
517static struct platform_device *ezkit_devices[] __initdata = { 540static struct platform_device *ezkit_devices[] __initdata = {
518#if defined(CONFIG_RTC_DRV_BFIN) || defined(CONFIG_RTC_DRV_BFIN_MODULE) 541#if defined(CONFIG_RTC_DRV_BFIN) || defined(CONFIG_RTC_DRV_BFIN_MODULE)
519 &rtc_device, 542 &rtc_device,
@@ -562,6 +585,10 @@ static struct platform_device *ezkit_devices[] __initdata = {
562 &i2c_bfin_twi1_device, 585 &i2c_bfin_twi1_device,
563#endif 586#endif
564#endif 587#endif
588
589#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
590 &bfin_device_gpiokeys,
591#endif
565}; 592};
566 593
567static int __init stamp_init(void) 594static int __init stamp_init(void)
diff --git a/arch/blackfin/mach-bf561/boards/ezkit.c b/arch/blackfin/mach-bf561/boards/ezkit.c
index 4ff8f6e7a11f..edfceb08a7d5 100644
--- a/arch/blackfin/mach-bf561/boards/ezkit.c
+++ b/arch/blackfin/mach-bf561/boards/ezkit.c
@@ -246,6 +246,30 @@ static struct platform_device bfin_pata_device = {
246}; 246};
247#endif 247#endif
248 248
249#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
250#include <linux/input.h>
251#include <linux/gpio_keys.h>
252
253static struct gpio_keys_button bfin_gpio_keys_table[] = {
254 {BTN_0, GPIO_PF5, 1, "gpio-keys: BTN0"},
255 {BTN_1, GPIO_PF6, 1, "gpio-keys: BTN1"},
256 {BTN_2, GPIO_PF7, 1, "gpio-keys: BTN2"},
257 {BTN_3, GPIO_PF8, 1, "gpio-keys: BTN3"},
258};
259
260static struct gpio_keys_platform_data bfin_gpio_keys_data = {
261 .buttons = bfin_gpio_keys_table,
262 .nbuttons = ARRAY_SIZE(bfin_gpio_keys_table),
263};
264
265static struct platform_device bfin_device_gpiokeys = {
266 .name = "gpio-keys",
267 .dev = {
268 .platform_data = &bfin_gpio_keys_data,
269 },
270};
271#endif
272
249static struct platform_device *ezkit_devices[] __initdata = { 273static struct platform_device *ezkit_devices[] __initdata = {
250#if defined(CONFIG_SMC91X) || defined(CONFIG_SMC91X_MODULE) 274#if defined(CONFIG_SMC91X) || defined(CONFIG_SMC91X_MODULE)
251 &smc91x_device, 275 &smc91x_device,
@@ -258,12 +282,18 @@ static struct platform_device *ezkit_devices[] __initdata = {
258#if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) 282#if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE)
259 &bfin_spi0_device, 283 &bfin_spi0_device,
260#endif 284#endif
285
261#if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) 286#if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE)
262 &bfin_uart_device, 287 &bfin_uart_device,
263#endif 288#endif
289
264#if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) 290#if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE)
265 &bfin_pata_device, 291 &bfin_pata_device,
266#endif 292#endif
293
294#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
295 &bfin_device_gpiokeys,
296#endif
267}; 297};
268 298
269static int __init ezkit_init(void) 299static int __init ezkit_init(void)