aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorTony Lindgren <tony@atomide.com>2012-03-29 13:16:04 -0400
committerTony Lindgren <tony@atomide.com>2012-03-29 13:16:04 -0400
commit2533c2cfbff8f0ee53b8448d6362b54c272125aa (patch)
treee254f804f2da2f79e66ea71a1e534574ae9da2ac /arch/arm
parenta2cb960f171228e17a28ff734289be60b75417c7 (diff)
parent21235bdb8aa5e8320b08f79525a45185a52b07df (diff)
Merge branch 'fixes-gpio-to-irq' into fixes
Conflicts: arch/arm/mach-omap1/board-htcherald.c arch/arm/mach-omap2/board-rx51-peripherals.c arch/arm/plat-omap/include/plat/gpio.h drivers/input/serio/ams_delta_serio.c
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/mach-omap1/board-h2.c8
-rw-r--r--arch/arm/mach-omap1/board-h3.c9
-rw-r--r--arch/arm/mach-omap1/board-htcherald.c6
-rw-r--r--arch/arm/mach-omap1/board-innovator.c4
-rw-r--r--arch/arm/mach-omap1/board-nokia770.c2
-rw-r--r--arch/arm/mach-omap1/board-osk.c12
-rw-r--r--arch/arm/mach-omap1/board-palmte.c2
-rw-r--r--arch/arm/mach-omap1/board-palmtt.c2
-rw-r--r--arch/arm/mach-omap1/board-palmz71.c2
-rw-r--r--arch/arm/mach-omap1/board-voiceblue.c16
-rw-r--r--arch/arm/mach-omap2/board-2430sdp.c2
-rw-r--r--arch/arm/mach-omap2/board-4430sdp.c2
-rw-r--r--arch/arm/mach-omap2/board-apollon.c4
-rw-r--r--arch/arm/mach-omap2/board-devkit8000.c2
-rw-r--r--arch/arm/mach-omap2/board-h4.c2
-rw-r--r--arch/arm/mach-omap2/board-omap3evm.c2
-rw-r--r--arch/arm/mach-omap2/board-omap4panda.c2
-rw-r--r--arch/arm/mach-omap2/board-rx51-peripherals.c3
-rw-r--r--arch/arm/mach-omap2/board-zoom-debugboard.c3
-rw-r--r--arch/arm/mach-omap2/board-zoom-peripherals.c6
-rw-r--r--arch/arm/mach-omap2/common-board-devices.c2
-rw-r--r--arch/arm/plat-omap/include/plat/gpio.h4
22 files changed, 47 insertions, 50 deletions
diff --git a/arch/arm/mach-omap1/board-h2.c b/arch/arm/mach-omap1/board-h2.c
index c3068622fdc..553a2e53576 100644
--- a/arch/arm/mach-omap1/board-h2.c
+++ b/arch/arm/mach-omap1/board-h2.c
@@ -245,8 +245,6 @@ static struct resource h2_smc91x_resources[] = {
245 .flags = IORESOURCE_MEM, 245 .flags = IORESOURCE_MEM,
246 }, 246 },
247 [1] = { 247 [1] = {
248 .start = OMAP_GPIO_IRQ(0),
249 .end = OMAP_GPIO_IRQ(0),
250 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWEDGE, 248 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWEDGE,
251 }, 249 },
252}; 250};
@@ -359,11 +357,9 @@ static struct tps65010_board tps_board = {
359static struct i2c_board_info __initdata h2_i2c_board_info[] = { 357static struct i2c_board_info __initdata h2_i2c_board_info[] = {
360 { 358 {
361 I2C_BOARD_INFO("tps65010", 0x48), 359 I2C_BOARD_INFO("tps65010", 0x48),
362 .irq = OMAP_GPIO_IRQ(58),
363 .platform_data = &tps_board, 360 .platform_data = &tps_board,
364 }, { 361 }, {
365 I2C_BOARD_INFO("isp1301_omap", 0x2d), 362 I2C_BOARD_INFO("isp1301_omap", 0x2d),
366 .irq = OMAP_GPIO_IRQ(2),
367 }, 363 },
368}; 364};
369 365
@@ -428,8 +424,12 @@ static void __init h2_init(void)
428 omap_cfg_reg(E19_1610_KBR4); 424 omap_cfg_reg(E19_1610_KBR4);
429 omap_cfg_reg(N19_1610_KBR5); 425 omap_cfg_reg(N19_1610_KBR5);
430 426
427 h2_smc91x_resources[1].start = gpio_to_irq(0);
428 h2_smc91x_resources[1].end = gpio_to_irq(0);
431 platform_add_devices(h2_devices, ARRAY_SIZE(h2_devices)); 429 platform_add_devices(h2_devices, ARRAY_SIZE(h2_devices));
432 omap_serial_init(); 430 omap_serial_init();
431 h2_i2c_board_info[0].irq = gpio_to_irq(58);
432 h2_i2c_board_info[1].irq = gpio_to_irq(2);
433 omap_register_i2c_bus(1, 100, h2_i2c_board_info, 433 omap_register_i2c_bus(1, 100, h2_i2c_board_info,
434 ARRAY_SIZE(h2_i2c_board_info)); 434 ARRAY_SIZE(h2_i2c_board_info));
435 omap1_usb_init(&h2_usb_config); 435 omap1_usb_init(&h2_usb_config);
diff --git a/arch/arm/mach-omap1/board-h3.c b/arch/arm/mach-omap1/board-h3.c
index 64b8584f64c..4c19f4c0685 100644
--- a/arch/arm/mach-omap1/board-h3.c
+++ b/arch/arm/mach-omap1/board-h3.c
@@ -247,8 +247,6 @@ static struct resource smc91x_resources[] = {
247 .flags = IORESOURCE_MEM, 247 .flags = IORESOURCE_MEM,
248 }, 248 },
249 [1] = { 249 [1] = {
250 .start = OMAP_GPIO_IRQ(40),
251 .end = OMAP_GPIO_IRQ(40),
252 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWEDGE, 250 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWEDGE,
253 }, 251 },
254}; 252};
@@ -338,7 +336,6 @@ static struct spi_board_info h3_spi_board_info[] __initdata = {
338 .modalias = "tsc2101", 336 .modalias = "tsc2101",
339 .bus_num = 2, 337 .bus_num = 2,
340 .chip_select = 0, 338 .chip_select = 0,
341 .irq = OMAP_GPIO_IRQ(H3_TS_GPIO),
342 .max_speed_hz = 16000000, 339 .max_speed_hz = 16000000,
343 /* .platform_data = &tsc_platform_data, */ 340 /* .platform_data = &tsc_platform_data, */
344 }, 341 },
@@ -374,11 +371,9 @@ static struct omap_lcd_config h3_lcd_config __initdata = {
374static struct i2c_board_info __initdata h3_i2c_board_info[] = { 371static struct i2c_board_info __initdata h3_i2c_board_info[] = {
375 { 372 {
376 I2C_BOARD_INFO("tps65013", 0x48), 373 I2C_BOARD_INFO("tps65013", 0x48),
377 /* .irq = OMAP_GPIO_IRQ(??), */
378 }, 374 },
379 { 375 {
380 I2C_BOARD_INFO("isp1301_omap", 0x2d), 376 I2C_BOARD_INFO("isp1301_omap", 0x2d),
381 .irq = OMAP_GPIO_IRQ(14),
382 }, 377 },
383}; 378};
384 379
@@ -420,10 +415,14 @@ static void __init h3_init(void)
420 omap_cfg_reg(E19_1610_KBR4); 415 omap_cfg_reg(E19_1610_KBR4);
421 omap_cfg_reg(N19_1610_KBR5); 416 omap_cfg_reg(N19_1610_KBR5);
422 417
418 smc91x_resources[1].start = gpio_to_irq(40);
419 smc91x_resources[1].end = gpio_to_irq(40);
423 platform_add_devices(devices, ARRAY_SIZE(devices)); 420 platform_add_devices(devices, ARRAY_SIZE(devices));
421 h3_spi_board_info[0].irq = gpio_to_irq(H3_TS_GPIO);
424 spi_register_board_info(h3_spi_board_info, 422 spi_register_board_info(h3_spi_board_info,
425 ARRAY_SIZE(h3_spi_board_info)); 423 ARRAY_SIZE(h3_spi_board_info));
426 omap_serial_init(); 424 omap_serial_init();
425 h3_i2c_board_info[1].irq = gpio_to_irq(14);
427 omap_register_i2c_bus(1, 100, h3_i2c_board_info, 426 omap_register_i2c_bus(1, 100, h3_i2c_board_info,
428 ARRAY_SIZE(h3_i2c_board_info)); 427 ARRAY_SIZE(h3_i2c_board_info));
429 omap1_usb_init(&h3_usb_config); 428 omap1_usb_init(&h3_usb_config);
diff --git a/arch/arm/mach-omap1/board-htcherald.c b/arch/arm/mach-omap1/board-htcherald.c
index 827d83a96af..60c06ee2385 100644
--- a/arch/arm/mach-omap1/board-htcherald.c
+++ b/arch/arm/mach-omap1/board-htcherald.c
@@ -324,8 +324,6 @@ static struct platform_device gpio_leds_device = {
324 324
325static struct resource htcpld_resources[] = { 325static struct resource htcpld_resources[] = {
326 [0] = { 326 [0] = {
327 .start = OMAP_GPIO_IRQ(HTCHERALD_GIRQ_BTNS),
328 .end = OMAP_GPIO_IRQ(HTCHERALD_GIRQ_BTNS),
329 .flags = IORESOURCE_IRQ, 327 .flags = IORESOURCE_IRQ,
330 }, 328 },
331}; 329};
@@ -450,7 +448,6 @@ static struct spi_board_info __initdata htcherald_spi_board_info[] = {
450 { 448 {
451 .modalias = "ads7846", 449 .modalias = "ads7846",
452 .platform_data = &htcherald_ts_platform_data, 450 .platform_data = &htcherald_ts_platform_data,
453 .irq = OMAP_GPIO_IRQ(HTCHERALD_GPIO_TS),
454 .max_speed_hz = 2500000, 451 .max_speed_hz = 2500000,
455 .bus_num = 2, 452 .bus_num = 2,
456 .chip_select = 1, 453 .chip_select = 1,
@@ -576,6 +573,8 @@ static void __init htcherald_init(void)
576 printk(KERN_INFO "HTC Herald init.\n"); 573 printk(KERN_INFO "HTC Herald init.\n");
577 574
578 /* Do board initialization before we register all the devices */ 575 /* Do board initialization before we register all the devices */
576 htcpld_resources[0].start = gpio_to_irq(HTCHERALD_GIRQ_BTNS);
577 htcpld_resources[0].end = gpio_to_irq(HTCHERALD_GIRQ_BTNS);
579 platform_add_devices(devices, ARRAY_SIZE(devices)); 578 platform_add_devices(devices, ARRAY_SIZE(devices));
580 579
581 htcherald_disable_watchdog(); 580 htcherald_disable_watchdog();
@@ -583,6 +582,7 @@ static void __init htcherald_init(void)
583 htcherald_usb_enable(); 582 htcherald_usb_enable();
584 omap1_usb_init(&htcherald_usb_config); 583 omap1_usb_init(&htcherald_usb_config);
585 584
585 htcherald_spi_board_info[0].irq = gpio_to_irq(HTCHERALD_GPIO_TS);
586 spi_register_board_info(htcherald_spi_board_info, 586 spi_register_board_info(htcherald_spi_board_info,
587 ARRAY_SIZE(htcherald_spi_board_info)); 587 ARRAY_SIZE(htcherald_spi_board_info));
588 588
diff --git a/arch/arm/mach-omap1/board-innovator.c b/arch/arm/mach-omap1/board-innovator.c
index 61219182d16..67d7fd57a69 100644
--- a/arch/arm/mach-omap1/board-innovator.c
+++ b/arch/arm/mach-omap1/board-innovator.c
@@ -248,8 +248,6 @@ static struct resource innovator1610_smc91x_resources[] = {
248 .flags = IORESOURCE_MEM, 248 .flags = IORESOURCE_MEM,
249 }, 249 },
250 [1] = { 250 [1] = {
251 .start = OMAP_GPIO_IRQ(0),
252 .end = OMAP_GPIO_IRQ(0),
253 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWEDGE, 251 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWEDGE,
254 }, 252 },
255}; 253};
@@ -409,6 +407,8 @@ static void __init innovator_init(void)
409#endif 407#endif
410#ifdef CONFIG_ARCH_OMAP16XX 408#ifdef CONFIG_ARCH_OMAP16XX
411 if (!cpu_is_omap1510()) { 409 if (!cpu_is_omap1510()) {
410 innovator1610_smc91x_resources[1].start = gpio_to_irq(0);
411 innovator1610_smc91x_resources[1].end = gpio_to_irq(0);
412 platform_add_devices(innovator1610_devices, ARRAY_SIZE(innovator1610_devices)); 412 platform_add_devices(innovator1610_devices, ARRAY_SIZE(innovator1610_devices));
413 } 413 }
414#endif 414#endif
diff --git a/arch/arm/mach-omap1/board-nokia770.c b/arch/arm/mach-omap1/board-nokia770.c
index fe95ec5f6f0..d21dcc2fbc5 100644
--- a/arch/arm/mach-omap1/board-nokia770.c
+++ b/arch/arm/mach-omap1/board-nokia770.c
@@ -147,7 +147,6 @@ static struct spi_board_info nokia770_spi_board_info[] __initdata = {
147 .bus_num = 2, 147 .bus_num = 2,
148 .chip_select = 0, 148 .chip_select = 0,
149 .max_speed_hz = 2500000, 149 .max_speed_hz = 2500000,
150 .irq = OMAP_GPIO_IRQ(15),
151 .platform_data = &nokia770_ads7846_platform_data, 150 .platform_data = &nokia770_ads7846_platform_data,
152 }, 151 },
153}; 152};
@@ -237,6 +236,7 @@ static void __init omap_nokia770_init(void)
237 omap_writew((omap_readw(0xfffb5004) & ~2), 0xfffb5004); 236 omap_writew((omap_readw(0xfffb5004) & ~2), 0xfffb5004);
238 237
239 platform_add_devices(nokia770_devices, ARRAY_SIZE(nokia770_devices)); 238 platform_add_devices(nokia770_devices, ARRAY_SIZE(nokia770_devices));
239 nokia770_spi_board_info[1].irq = gpio_to_irq(15);
240 spi_register_board_info(nokia770_spi_board_info, 240 spi_register_board_info(nokia770_spi_board_info,
241 ARRAY_SIZE(nokia770_spi_board_info)); 241 ARRAY_SIZE(nokia770_spi_board_info));
242 omap_serial_init(); 242 omap_serial_init();
diff --git a/arch/arm/mach-omap1/board-osk.c b/arch/arm/mach-omap1/board-osk.c
index 1fe347396f4..a5f85dda3f6 100644
--- a/arch/arm/mach-omap1/board-osk.c
+++ b/arch/arm/mach-omap1/board-osk.c
@@ -129,8 +129,6 @@ static struct resource osk5912_smc91x_resources[] = {
129 .flags = IORESOURCE_MEM, 129 .flags = IORESOURCE_MEM,
130 }, 130 },
131 [1] = { 131 [1] = {
132 .start = OMAP_GPIO_IRQ(0),
133 .end = OMAP_GPIO_IRQ(0),
134 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE, 132 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE,
135 }, 133 },
136}; 134};
@@ -147,8 +145,6 @@ static struct platform_device osk5912_smc91x_device = {
147 145
148static struct resource osk5912_cf_resources[] = { 146static struct resource osk5912_cf_resources[] = {
149 [0] = { 147 [0] = {
150 .start = OMAP_GPIO_IRQ(62),
151 .end = OMAP_GPIO_IRQ(62),
152 .flags = IORESOURCE_IRQ, 148 .flags = IORESOURCE_IRQ,
153 }, 149 },
154}; 150};
@@ -240,7 +236,6 @@ static struct tps65010_board tps_board = {
240static struct i2c_board_info __initdata osk_i2c_board_info[] = { 236static struct i2c_board_info __initdata osk_i2c_board_info[] = {
241 { 237 {
242 I2C_BOARD_INFO("tps65010", 0x48), 238 I2C_BOARD_INFO("tps65010", 0x48),
243 .irq = OMAP_GPIO_IRQ(OMAP_MPUIO(1)),
244 .platform_data = &tps_board, 239 .platform_data = &tps_board,
245 240
246 }, 241 },
@@ -408,7 +403,6 @@ static struct spi_board_info __initdata mistral_boardinfo[] = { {
408 /* MicroWire (bus 2) CS0 has an ads7846e */ 403 /* MicroWire (bus 2) CS0 has an ads7846e */
409 .modalias = "ads7846", 404 .modalias = "ads7846",
410 .platform_data = &mistral_ts_info, 405 .platform_data = &mistral_ts_info,
411 .irq = OMAP_GPIO_IRQ(4),
412 .max_speed_hz = 120000 /* max sample rate at 3V */ 406 .max_speed_hz = 120000 /* max sample rate at 3V */
413 * 26 /* command + data + overhead */, 407 * 26 /* command + data + overhead */,
414 .bus_num = 2, 408 .bus_num = 2,
@@ -471,6 +465,7 @@ static void __init osk_mistral_init(void)
471 gpio_direction_input(4); 465 gpio_direction_input(4);
472 irq_set_irq_type(gpio_to_irq(4), IRQ_TYPE_EDGE_FALLING); 466 irq_set_irq_type(gpio_to_irq(4), IRQ_TYPE_EDGE_FALLING);
473 467
468 mistral_boardinfo[0].irq = gpio_to_irq(4);
474 spi_register_board_info(mistral_boardinfo, 469 spi_register_board_info(mistral_boardinfo,
475 ARRAY_SIZE(mistral_boardinfo)); 470 ARRAY_SIZE(mistral_boardinfo));
476 471
@@ -542,6 +537,10 @@ static void __init osk_init(void)
542 537
543 osk_flash_resource.end = osk_flash_resource.start = omap_cs3_phys(); 538 osk_flash_resource.end = osk_flash_resource.start = omap_cs3_phys();
544 osk_flash_resource.end += SZ_32M - 1; 539 osk_flash_resource.end += SZ_32M - 1;
540 osk5912_smc91x_resources[1].start = gpio_to_irq(0);
541 osk5912_smc91x_resources[1].end = gpio_to_irq(0);
542 osk5912_cf_resources[0].start = gpio_to_irq(62);
543 osk5912_cf_resources[0].end = gpio_to_irq(62);
545 platform_add_devices(osk5912_devices, ARRAY_SIZE(osk5912_devices)); 544 platform_add_devices(osk5912_devices, ARRAY_SIZE(osk5912_devices));
546 545
547 l = omap_readl(USB_TRANSCEIVER_CTRL); 546 l = omap_readl(USB_TRANSCEIVER_CTRL);
@@ -556,6 +555,7 @@ static void __init osk_init(void)
556 gpio_direction_input(OMAP_MPUIO(1)); 555 gpio_direction_input(OMAP_MPUIO(1));
557 556
558 omap_serial_init(); 557 omap_serial_init();
558 osk_i2c_board_info[0].irq = gpio_to_irq(OMAP_MPUIO(1));
559 omap_register_i2c_bus(1, 400, osk_i2c_board_info, 559 omap_register_i2c_bus(1, 400, osk_i2c_board_info,
560 ARRAY_SIZE(osk_i2c_board_info)); 560 ARRAY_SIZE(osk_i2c_board_info));
561 osk_mistral_init(); 561 osk_mistral_init();
diff --git a/arch/arm/mach-omap1/board-palmte.c b/arch/arm/mach-omap1/board-palmte.c
index 0863d8e2bdf..a60e6c22f81 100644
--- a/arch/arm/mach-omap1/board-palmte.c
+++ b/arch/arm/mach-omap1/board-palmte.c
@@ -217,7 +217,6 @@ static struct spi_board_info palmte_spi_info[] __initdata = {
217 .modalias = "tsc2102", 217 .modalias = "tsc2102",
218 .bus_num = 2, /* uWire (officially) */ 218 .bus_num = 2, /* uWire (officially) */
219 .chip_select = 0, /* As opposed to 3 */ 219 .chip_select = 0, /* As opposed to 3 */
220 .irq = OMAP_GPIO_IRQ(PALMTE_PINTDAV_GPIO),
221 .max_speed_hz = 8000000, 220 .max_speed_hz = 8000000,
222 }, 221 },
223}; 222};
@@ -251,6 +250,7 @@ static void __init omap_palmte_init(void)
251 250
252 platform_add_devices(palmte_devices, ARRAY_SIZE(palmte_devices)); 251 platform_add_devices(palmte_devices, ARRAY_SIZE(palmte_devices));
253 252
253 palmte_spi_info[0].irq = gpio_to_irq(PALMTE_PINTDAV_GPIO);
254 spi_register_board_info(palmte_spi_info, ARRAY_SIZE(palmte_spi_info)); 254 spi_register_board_info(palmte_spi_info, ARRAY_SIZE(palmte_spi_info));
255 palmte_misc_gpio_setup(); 255 palmte_misc_gpio_setup();
256 omap_serial_init(); 256 omap_serial_init();
diff --git a/arch/arm/mach-omap1/board-palmtt.c b/arch/arm/mach-omap1/board-palmtt.c
index 4ff699c509c..8d854878547 100644
--- a/arch/arm/mach-omap1/board-palmtt.c
+++ b/arch/arm/mach-omap1/board-palmtt.c
@@ -257,7 +257,6 @@ static struct spi_board_info __initdata palmtt_boardinfo[] = {
257 /* MicroWire (bus 2) CS0 has an ads7846e */ 257 /* MicroWire (bus 2) CS0 has an ads7846e */
258 .modalias = "ads7846", 258 .modalias = "ads7846",
259 .platform_data = &palmtt_ts_info, 259 .platform_data = &palmtt_ts_info,
260 .irq = OMAP_GPIO_IRQ(6),
261 .max_speed_hz = 120000 /* max sample rate at 3V */ 260 .max_speed_hz = 120000 /* max sample rate at 3V */
262 * 26 /* command + data + overhead */, 261 * 26 /* command + data + overhead */,
263 .bus_num = 2, 262 .bus_num = 2,
@@ -298,6 +297,7 @@ static void __init omap_palmtt_init(void)
298 297
299 platform_add_devices(palmtt_devices, ARRAY_SIZE(palmtt_devices)); 298 platform_add_devices(palmtt_devices, ARRAY_SIZE(palmtt_devices));
300 299
300 palmtt_boardinfo[0].irq = gpio_to_irq(6);
301 spi_register_board_info(palmtt_boardinfo,ARRAY_SIZE(palmtt_boardinfo)); 301 spi_register_board_info(palmtt_boardinfo,ARRAY_SIZE(palmtt_boardinfo));
302 omap_serial_init(); 302 omap_serial_init();
303 omap1_usb_init(&palmtt_usb_config); 303 omap1_usb_init(&palmtt_usb_config);
diff --git a/arch/arm/mach-omap1/board-palmz71.c b/arch/arm/mach-omap1/board-palmz71.c
index abcbbd339ae..a2c5abcd7c8 100644
--- a/arch/arm/mach-omap1/board-palmz71.c
+++ b/arch/arm/mach-omap1/board-palmz71.c
@@ -224,7 +224,6 @@ static struct spi_board_info __initdata palmz71_boardinfo[] = { {
224 /* MicroWire (bus 2) CS0 has an ads7846e */ 224 /* MicroWire (bus 2) CS0 has an ads7846e */
225 .modalias = "ads7846", 225 .modalias = "ads7846",
226 .platform_data = &palmz71_ts_info, 226 .platform_data = &palmz71_ts_info,
227 .irq = OMAP_GPIO_IRQ(PALMZ71_PENIRQ_GPIO),
228 .max_speed_hz = 120000 /* max sample rate at 3V */ 227 .max_speed_hz = 120000 /* max sample rate at 3V */
229 * 26 /* command + data + overhead */, 228 * 26 /* command + data + overhead */,
230 .bus_num = 2, 229 .bus_num = 2,
@@ -313,6 +312,7 @@ omap_palmz71_init(void)
313 312
314 platform_add_devices(devices, ARRAY_SIZE(devices)); 313 platform_add_devices(devices, ARRAY_SIZE(devices));
315 314
315 palmz71_boardinfo[0].irq = gpio_to_irq(PALMZ71_PENIRQ_GPIO);
316 spi_register_board_info(palmz71_boardinfo, 316 spi_register_board_info(palmz71_boardinfo,
317 ARRAY_SIZE(palmz71_boardinfo)); 317 ARRAY_SIZE(palmz71_boardinfo));
318 omap1_usb_init(&palmz71_usb_config); 318 omap1_usb_init(&palmz71_usb_config);
diff --git a/arch/arm/mach-omap1/board-voiceblue.c b/arch/arm/mach-omap1/board-voiceblue.c
index 659d0f75de2..37232d04233 100644
--- a/arch/arm/mach-omap1/board-voiceblue.c
+++ b/arch/arm/mach-omap1/board-voiceblue.c
@@ -44,7 +44,6 @@
44static struct plat_serial8250_port voiceblue_ports[] = { 44static struct plat_serial8250_port voiceblue_ports[] = {
45 { 45 {
46 .mapbase = (unsigned long)(OMAP_CS1_PHYS + 0x40000), 46 .mapbase = (unsigned long)(OMAP_CS1_PHYS + 0x40000),
47 .irq = OMAP_GPIO_IRQ(12),
48 .flags = UPF_BOOT_AUTOCONF | UPF_IOREMAP, 47 .flags = UPF_BOOT_AUTOCONF | UPF_IOREMAP,
49 .iotype = UPIO_MEM, 48 .iotype = UPIO_MEM,
50 .regshift = 1, 49 .regshift = 1,
@@ -52,7 +51,6 @@ static struct plat_serial8250_port voiceblue_ports[] = {
52 }, 51 },
53 { 52 {
54 .mapbase = (unsigned long)(OMAP_CS1_PHYS + 0x50000), 53 .mapbase = (unsigned long)(OMAP_CS1_PHYS + 0x50000),
55 .irq = OMAP_GPIO_IRQ(13),
56 .flags = UPF_BOOT_AUTOCONF | UPF_IOREMAP, 54 .flags = UPF_BOOT_AUTOCONF | UPF_IOREMAP,
57 .iotype = UPIO_MEM, 55 .iotype = UPIO_MEM,
58 .regshift = 1, 56 .regshift = 1,
@@ -60,7 +58,6 @@ static struct plat_serial8250_port voiceblue_ports[] = {
60 }, 58 },
61 { 59 {
62 .mapbase = (unsigned long)(OMAP_CS1_PHYS + 0x60000), 60 .mapbase = (unsigned long)(OMAP_CS1_PHYS + 0x60000),
63 .irq = OMAP_GPIO_IRQ(14),
64 .flags = UPF_BOOT_AUTOCONF | UPF_IOREMAP, 61 .flags = UPF_BOOT_AUTOCONF | UPF_IOREMAP,
65 .iotype = UPIO_MEM, 62 .iotype = UPIO_MEM,
66 .regshift = 1, 63 .regshift = 1,
@@ -68,7 +65,6 @@ static struct plat_serial8250_port voiceblue_ports[] = {
68 }, 65 },
69 { 66 {
70 .mapbase = (unsigned long)(OMAP_CS1_PHYS + 0x70000), 67 .mapbase = (unsigned long)(OMAP_CS1_PHYS + 0x70000),
71 .irq = OMAP_GPIO_IRQ(15),
72 .flags = UPF_BOOT_AUTOCONF | UPF_IOREMAP, 68 .flags = UPF_BOOT_AUTOCONF | UPF_IOREMAP,
73 .iotype = UPIO_MEM, 69 .iotype = UPIO_MEM,
74 .regshift = 1, 70 .regshift = 1,
@@ -80,9 +76,6 @@ static struct plat_serial8250_port voiceblue_ports[] = {
80static struct platform_device serial_device = { 76static struct platform_device serial_device = {
81 .name = "serial8250", 77 .name = "serial8250",
82 .id = PLAT8250_DEV_PLATFORM1, 78 .id = PLAT8250_DEV_PLATFORM1,
83 .dev = {
84 .platform_data = voiceblue_ports,
85 },
86}; 79};
87 80
88static int __init ext_uart_init(void) 81static int __init ext_uart_init(void)
@@ -90,6 +83,11 @@ static int __init ext_uart_init(void)
90 if (!machine_is_voiceblue()) 83 if (!machine_is_voiceblue())
91 return -ENODEV; 84 return -ENODEV;
92 85
86 voiceblue_ports[0].irq = gpio_to_irq(12);
87 voiceblue_ports[1].irq = gpio_to_irq(13);
88 voiceblue_ports[2].irq = gpio_to_irq(14);
89 voiceblue_ports[3].irq = gpio_to_irq(15);
90 serial_device.dev.platform_data = voiceblue_ports;
93 return platform_device_register(&serial_device); 91 return platform_device_register(&serial_device);
94} 92}
95arch_initcall(ext_uart_init); 93arch_initcall(ext_uart_init);
@@ -128,8 +126,6 @@ static struct resource voiceblue_smc91x_resources[] = {
128 .flags = IORESOURCE_MEM, 126 .flags = IORESOURCE_MEM,
129 }, 127 },
130 [1] = { 128 [1] = {
131 .start = OMAP_GPIO_IRQ(8),
132 .end = OMAP_GPIO_IRQ(8),
133 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE, 129 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE,
134 }, 130 },
135}; 131};
@@ -275,6 +271,8 @@ static void __init voiceblue_init(void)
275 irq_set_irq_type(gpio_to_irq(14), IRQ_TYPE_EDGE_RISING); 271 irq_set_irq_type(gpio_to_irq(14), IRQ_TYPE_EDGE_RISING);
276 irq_set_irq_type(gpio_to_irq(15), IRQ_TYPE_EDGE_RISING); 272 irq_set_irq_type(gpio_to_irq(15), IRQ_TYPE_EDGE_RISING);
277 273
274 voiceblue_smc91x_resources[1].start = gpio_to_irq(8);
275 voiceblue_smc91x_resources[1].end = gpio_to_irq(8);
278 platform_add_devices(voiceblue_devices, ARRAY_SIZE(voiceblue_devices)); 276 platform_add_devices(voiceblue_devices, ARRAY_SIZE(voiceblue_devices));
279 omap_board_config = voiceblue_config; 277 omap_board_config = voiceblue_config;
280 omap_board_config_size = ARRAY_SIZE(voiceblue_config); 278 omap_board_config_size = ARRAY_SIZE(voiceblue_config);
diff --git a/arch/arm/mach-omap2/board-2430sdp.c b/arch/arm/mach-omap2/board-2430sdp.c
index c8bda62900d..e658f835d0d 100644
--- a/arch/arm/mach-omap2/board-2430sdp.c
+++ b/arch/arm/mach-omap2/board-2430sdp.c
@@ -230,12 +230,12 @@ static struct i2c_board_info __initdata sdp2430_i2c1_boardinfo[] = {
230 { 230 {
231 I2C_BOARD_INFO("isp1301_omap", 0x2D), 231 I2C_BOARD_INFO("isp1301_omap", 0x2D),
232 .flags = I2C_CLIENT_WAKE, 232 .flags = I2C_CLIENT_WAKE,
233 .irq = OMAP_GPIO_IRQ(78),
234 }, 233 },
235}; 234};
236 235
237static int __init omap2430_i2c_init(void) 236static int __init omap2430_i2c_init(void)
238{ 237{
238 sdp2430_i2c1_boardinfo[0].irq = gpio_to_irq(78);
239 omap_register_i2c_bus(1, 100, sdp2430_i2c1_boardinfo, 239 omap_register_i2c_bus(1, 100, sdp2430_i2c1_boardinfo,
240 ARRAY_SIZE(sdp2430_i2c1_boardinfo)); 240 ARRAY_SIZE(sdp2430_i2c1_boardinfo));
241 omap_pmic_init(2, 100, "twl4030", INT_24XX_SYS_NIRQ, 241 omap_pmic_init(2, 100, "twl4030", INT_24XX_SYS_NIRQ,
diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c
index 37dcb1bc025..a39fc4bbd2b 100644
--- a/arch/arm/mach-omap2/board-4430sdp.c
+++ b/arch/arm/mach-omap2/board-4430sdp.c
@@ -907,7 +907,6 @@ static void __init omap4_sdp4430_wifi_mux_init(void)
907} 907}
908 908
909static struct wl12xx_platform_data omap4_sdp4430_wlan_data __initdata = { 909static struct wl12xx_platform_data omap4_sdp4430_wlan_data __initdata = {
910 .irq = OMAP_GPIO_IRQ(GPIO_WIFI_IRQ),
911 .board_ref_clock = WL12XX_REFCLOCK_26, 910 .board_ref_clock = WL12XX_REFCLOCK_26,
912 .board_tcxo_clock = WL12XX_TCXOCLOCK_26, 911 .board_tcxo_clock = WL12XX_TCXOCLOCK_26,
913}; 912};
@@ -917,6 +916,7 @@ static void __init omap4_sdp4430_wifi_init(void)
917 int ret; 916 int ret;
918 917
919 omap4_sdp4430_wifi_mux_init(); 918 omap4_sdp4430_wifi_mux_init();
919 omap4_sdp4430_wlan_data.irq = gpio_to_irq(GPIO_WIFI_IRQ);
920 ret = wl12xx_set_platform_data(&omap4_sdp4430_wlan_data); 920 ret = wl12xx_set_platform_data(&omap4_sdp4430_wlan_data);
921 if (ret) 921 if (ret)
922 pr_err("Error setting wl12xx data: %d\n", ret); 922 pr_err("Error setting wl12xx data: %d\n", ret);
diff --git a/arch/arm/mach-omap2/board-apollon.c b/arch/arm/mach-omap2/board-apollon.c
index ac773829941..768ece2e9c3 100644
--- a/arch/arm/mach-omap2/board-apollon.c
+++ b/arch/arm/mach-omap2/board-apollon.c
@@ -136,8 +136,6 @@ static struct resource apollon_smc91x_resources[] = {
136 .flags = IORESOURCE_MEM, 136 .flags = IORESOURCE_MEM,
137 }, 137 },
138 [1] = { 138 [1] = {
139 .start = OMAP_GPIO_IRQ(APOLLON_ETHR_GPIO_IRQ),
140 .end = OMAP_GPIO_IRQ(APOLLON_ETHR_GPIO_IRQ),
141 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE, 139 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE,
142 }, 140 },
143}; 141};
@@ -341,6 +339,8 @@ static void __init omap_apollon_init(void)
341 * You have to mux them off in device drivers later on 339 * You have to mux them off in device drivers later on
342 * if not needed. 340 * if not needed.
343 */ 341 */
342 apollon_smc91x_resources[1].start = gpio_to_irq(APOLLON_ETHR_GPIO_IRQ);
343 apollon_smc91x_resources[1].end = gpio_to_irq(APOLLON_ETHR_GPIO_IRQ);
344 platform_add_devices(apollon_devices, ARRAY_SIZE(apollon_devices)); 344 platform_add_devices(apollon_devices, ARRAY_SIZE(apollon_devices));
345 omap_serial_init(); 345 omap_serial_init();
346 omap_sdrc_init(NULL, NULL); 346 omap_sdrc_init(NULL, NULL);
diff --git a/arch/arm/mach-omap2/board-devkit8000.c b/arch/arm/mach-omap2/board-devkit8000.c
index 11cd2a80609..a2010f07de3 100644
--- a/arch/arm/mach-omap2/board-devkit8000.c
+++ b/arch/arm/mach-omap2/board-devkit8000.c
@@ -411,7 +411,6 @@ static struct resource omap_dm9000_resources[] = {
411 .flags = IORESOURCE_MEM, 411 .flags = IORESOURCE_MEM,
412 }, 412 },
413 [2] = { 413 [2] = {
414 .start = OMAP_GPIO_IRQ(OMAP_DM9000_GPIO_IRQ),
415 .flags = IORESOURCE_IRQ | IRQF_TRIGGER_LOW, 414 .flags = IORESOURCE_IRQ | IRQF_TRIGGER_LOW,
416 }, 415 },
417}; 416};
@@ -639,6 +638,7 @@ static void __init devkit8000_init(void)
639 638
640 omap_hsmmc_init(mmc); 639 omap_hsmmc_init(mmc);
641 devkit8000_i2c_init(); 640 devkit8000_i2c_init();
641 omap_dm9000_resources[2].start = gpio_to_irq(OMAP_DM9000_GPIO_IRQ);
642 platform_add_devices(devkit8000_devices, 642 platform_add_devices(devkit8000_devices,
643 ARRAY_SIZE(devkit8000_devices)); 643 ARRAY_SIZE(devkit8000_devices));
644 644
diff --git a/arch/arm/mach-omap2/board-h4.c b/arch/arm/mach-omap2/board-h4.c
index 54af800d143..0bbbabe28fc 100644
--- a/arch/arm/mach-omap2/board-h4.c
+++ b/arch/arm/mach-omap2/board-h4.c
@@ -348,7 +348,6 @@ static struct at24_platform_data m24c01 = {
348static struct i2c_board_info __initdata h4_i2c_board_info[] = { 348static struct i2c_board_info __initdata h4_i2c_board_info[] = {
349 { 349 {
350 I2C_BOARD_INFO("isp1301_omap", 0x2d), 350 I2C_BOARD_INFO("isp1301_omap", 0x2d),
351 .irq = OMAP_GPIO_IRQ(125),
352 }, 351 },
353 { /* EEPROM on mainboard */ 352 { /* EEPROM on mainboard */
354 I2C_BOARD_INFO("24c01", 0x52), 353 I2C_BOARD_INFO("24c01", 0x52),
@@ -377,6 +376,7 @@ static void __init omap_h4_init(void)
377 */ 376 */
378 377
379 board_mkp_init(); 378 board_mkp_init();
379 h4_i2c_board_info[0].irq = gpio_to_irq(125);
380 i2c_register_board_info(1, h4_i2c_board_info, 380 i2c_register_board_info(1, h4_i2c_board_info,
381 ARRAY_SIZE(h4_i2c_board_info)); 381 ARRAY_SIZE(h4_i2c_board_info));
382 382
diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c
index a659e198892..4c90f078abe 100644
--- a/arch/arm/mach-omap2/board-omap3evm.c
+++ b/arch/arm/mach-omap2/board-omap3evm.c
@@ -487,7 +487,6 @@ static struct platform_device omap3evm_wlan_regulator = {
487}; 487};
488 488
489struct wl12xx_platform_data omap3evm_wlan_data __initdata = { 489struct wl12xx_platform_data omap3evm_wlan_data __initdata = {
490 .irq = OMAP_GPIO_IRQ(OMAP3EVM_WLAN_IRQ_GPIO),
491 .board_ref_clock = WL12XX_REFCLOCK_38, /* 38.4 MHz */ 490 .board_ref_clock = WL12XX_REFCLOCK_38, /* 38.4 MHz */
492}; 491};
493#endif 492#endif
@@ -623,6 +622,7 @@ static void __init omap3_evm_wl12xx_init(void)
623 int ret; 622 int ret;
624 623
625 /* WL12xx WLAN Init */ 624 /* WL12xx WLAN Init */
625 omap3evm_wlan_data.irq = gpio_to_irq(OMAP3EVM_WLAN_IRQ_GPIO);
626 ret = wl12xx_set_platform_data(&omap3evm_wlan_data); 626 ret = wl12xx_set_platform_data(&omap3evm_wlan_data);
627 if (ret) 627 if (ret)
628 pr_err("error setting wl12xx data: %d\n", ret); 628 pr_err("error setting wl12xx data: %d\n", ret);
diff --git a/arch/arm/mach-omap2/board-omap4panda.c b/arch/arm/mach-omap2/board-omap4panda.c
index 8bf8e99c358..d8c0e89f012 100644
--- a/arch/arm/mach-omap2/board-omap4panda.c
+++ b/arch/arm/mach-omap2/board-omap4panda.c
@@ -231,7 +231,6 @@ static struct platform_device omap_vwlan_device = {
231}; 231};
232 232
233struct wl12xx_platform_data omap_panda_wlan_data __initdata = { 233struct wl12xx_platform_data omap_panda_wlan_data __initdata = {
234 .irq = OMAP_GPIO_IRQ(GPIO_WIFI_IRQ),
235 /* PANDA ref clock is 38.4 MHz */ 234 /* PANDA ref clock is 38.4 MHz */
236 .board_ref_clock = 2, 235 .board_ref_clock = 2,
237}; 236};
@@ -558,6 +557,7 @@ static void __init omap4_panda_init(void)
558 package = OMAP_PACKAGE_CBL; 557 package = OMAP_PACKAGE_CBL;
559 omap4_mux_init(board_mux, NULL, package); 558 omap4_mux_init(board_mux, NULL, package);
560 559
560 omap_panda_wlan_data.irq = gpio_to_irq(GPIO_WIFI_IRQ);
561 ret = wl12xx_set_platform_data(&omap_panda_wlan_data); 561 ret = wl12xx_set_platform_data(&omap_panda_wlan_data);
562 if (ret) 562 if (ret)
563 pr_err("error setting wl12xx data: %d\n", ret); 563 pr_err("error setting wl12xx data: %d\n", ret);
diff --git a/arch/arm/mach-omap2/board-rx51-peripherals.c b/arch/arm/mach-omap2/board-rx51-peripherals.c
index f120997309a..d87ee061209 100644
--- a/arch/arm/mach-omap2/board-rx51-peripherals.c
+++ b/arch/arm/mach-omap2/board-rx51-peripherals.c
@@ -170,7 +170,6 @@ static struct spi_board_info rx51_peripherals_spi_board_info[] __initdata = {
170 .modalias = "tsc2005", 170 .modalias = "tsc2005",
171 .bus_num = 1, 171 .bus_num = 1,
172 .chip_select = 0, 172 .chip_select = 0,
173 .irq = OMAP_GPIO_IRQ(RX51_TSC2005_IRQ_GPIO),
174 .max_speed_hz = 6000000, 173 .max_speed_hz = 6000000,
175 .controller_data = &tsc2005_mcspi_config, 174 .controller_data = &tsc2005_mcspi_config,
176 .platform_data = &tsc2005_pdata, 175 .platform_data = &tsc2005_pdata,
@@ -1129,6 +1128,8 @@ static void __init rx51_init_tsc2005(void)
1129 } 1128 }
1130 1129
1131 tsc2005_pdata.set_reset = rx51_tsc2005_set_reset; 1130 tsc2005_pdata.set_reset = rx51_tsc2005_set_reset;
1131 rx51_peripherals_spi_board_info[RX51_SPI_TSC2005].irq =
1132 gpio_to_irq(RX51_TSC2005_IRQ_GPIO);
1132} 1133}
1133 1134
1134void __init rx51_peripherals_init(void) 1135void __init rx51_peripherals_init(void)
diff --git a/arch/arm/mach-omap2/board-zoom-debugboard.c b/arch/arm/mach-omap2/board-zoom-debugboard.c
index 369c2eb7715..1e8540eabde 100644
--- a/arch/arm/mach-omap2/board-zoom-debugboard.c
+++ b/arch/arm/mach-omap2/board-zoom-debugboard.c
@@ -43,7 +43,6 @@ static inline void __init zoom_init_smsc911x(void)
43static struct plat_serial8250_port serial_platform_data[] = { 43static struct plat_serial8250_port serial_platform_data[] = {
44 { 44 {
45 .mapbase = ZOOM_UART_BASE, 45 .mapbase = ZOOM_UART_BASE,
46 .irq = OMAP_GPIO_IRQ(102),
47 .flags = UPF_BOOT_AUTOCONF|UPF_IOREMAP|UPF_SHARE_IRQ, 46 .flags = UPF_BOOT_AUTOCONF|UPF_IOREMAP|UPF_SHARE_IRQ,
48 .irqflags = IRQF_SHARED | IRQF_TRIGGER_RISING, 47 .irqflags = IRQF_SHARED | IRQF_TRIGGER_RISING,
49 .iotype = UPIO_MEM, 48 .iotype = UPIO_MEM,
@@ -89,6 +88,8 @@ static inline void __init zoom_init_quaduart(void)
89 if (gpio_request_one(quart_gpio, GPIOF_IN, "TL16CP754C GPIO") < 0) 88 if (gpio_request_one(quart_gpio, GPIOF_IN, "TL16CP754C GPIO") < 0)
90 printk(KERN_ERR "Failed to request GPIO%d for TL16CP754C\n", 89 printk(KERN_ERR "Failed to request GPIO%d for TL16CP754C\n",
91 quart_gpio); 90 quart_gpio);
91
92 serial_platform_data[0].irq = gpio_to_irq(102);
92} 93}
93 94
94static inline int omap_zoom_debugboard_detect(void) 95static inline int omap_zoom_debugboard_detect(void)
diff --git a/arch/arm/mach-omap2/board-zoom-peripherals.c b/arch/arm/mach-omap2/board-zoom-peripherals.c
index 3d39cdb2e25..b797cb27961 100644
--- a/arch/arm/mach-omap2/board-zoom-peripherals.c
+++ b/arch/arm/mach-omap2/board-zoom-peripherals.c
@@ -193,7 +193,6 @@ static struct platform_device omap_vwlan_device = {
193}; 193};
194 194
195static struct wl12xx_platform_data omap_zoom_wlan_data __initdata = { 195static struct wl12xx_platform_data omap_zoom_wlan_data __initdata = {
196 .irq = OMAP_GPIO_IRQ(OMAP_ZOOM_WLAN_IRQ_GPIO),
197 /* ZOOM ref clock is 26 MHz */ 196 /* ZOOM ref clock is 26 MHz */
198 .board_ref_clock = 1, 197 .board_ref_clock = 1,
199}; 198};
@@ -297,7 +296,10 @@ static void enable_board_wakeup_source(void)
297 296
298void __init zoom_peripherals_init(void) 297void __init zoom_peripherals_init(void)
299{ 298{
300 int ret = wl12xx_set_platform_data(&omap_zoom_wlan_data); 299 int ret;
300
301 omap_zoom_wlan_data.irq = gpio_to_irq(OMAP_ZOOM_WLAN_IRQ_GPIO);
302 ret = wl12xx_set_platform_data(&omap_zoom_wlan_data);
301 303
302 if (ret) 304 if (ret)
303 pr_err("error setting wl12xx data: %d\n", ret); 305 pr_err("error setting wl12xx data: %d\n", ret);
diff --git a/arch/arm/mach-omap2/common-board-devices.c b/arch/arm/mach-omap2/common-board-devices.c
index 9498b0f5fbd..1706ebcec08 100644
--- a/arch/arm/mach-omap2/common-board-devices.c
+++ b/arch/arm/mach-omap2/common-board-devices.c
@@ -76,7 +76,7 @@ void __init omap_ads7846_init(int bus_num, int gpio_pendown, int gpio_debounce,
76 } 76 }
77 77
78 spi_bi->bus_num = bus_num; 78 spi_bi->bus_num = bus_num;
79 spi_bi->irq = OMAP_GPIO_IRQ(gpio_pendown); 79 spi_bi->irq = gpio_to_irq(gpio_pendown);
80 80
81 if (board_pdata) { 81 if (board_pdata) {
82 board_pdata->gpio_pendown = gpio_pendown; 82 board_pdata->gpio_pendown = gpio_pendown;
diff --git a/arch/arm/plat-omap/include/plat/gpio.h b/arch/arm/plat-omap/include/plat/gpio.h
index b8a96c6a1a3..2f6e9924a81 100644
--- a/arch/arm/plat-omap/include/plat/gpio.h
+++ b/arch/arm/plat-omap/include/plat/gpio.h
@@ -158,10 +158,6 @@
158#define OMAP_MPUIO(nr) (OMAP_MAX_GPIO_LINES + (nr)) 158#define OMAP_MPUIO(nr) (OMAP_MAX_GPIO_LINES + (nr))
159#define OMAP_GPIO_IS_MPUIO(nr) ((nr) >= OMAP_MAX_GPIO_LINES) 159#define OMAP_GPIO_IS_MPUIO(nr) ((nr) >= OMAP_MAX_GPIO_LINES)
160 160
161#define OMAP_GPIO_IRQ(nr) (OMAP_GPIO_IS_MPUIO(nr) ? \
162 IH_MPUIO_BASE + ((nr) & 0x0f) : \
163 IH_GPIO_BASE + (nr))
164
165struct omap_gpio_dev_attr { 161struct omap_gpio_dev_attr {
166 int bank_width; /* GPIO bank width */ 162 int bank_width; /* GPIO bank width */
167 bool dbck_flag; /* dbck required or not - True for OMAP3&4 */ 163 bool dbck_flag; /* dbck required or not - True for OMAP3&4 */