aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-ux500/cpu-db5500.c
diff options
context:
space:
mode:
authorRabin Vincent <rabin.vincent@stericsson.com>2010-12-08 00:37:55 -0500
committerLinus Walleij <linus.walleij@stericsson.com>2010-12-08 07:25:00 -0500
commit01afdd1353ca83904f430be4f6202d1a20912f4d (patch)
treeffcd53087d10ec63bd42fe3e95ac93cd7e9f4a2a /arch/arm/mach-ux500/cpu-db5500.c
parent8d568ae5362c00c5b0b8e61bceb1829c8051002e (diff)
ux500: rework gpio registration
Rework gpio registration to remove build-time changing macros. Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com> Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
Diffstat (limited to 'arch/arm/mach-ux500/cpu-db5500.c')
-rw-r--r--arch/arm/mach-ux500/cpu-db5500.c33
1 files changed, 24 insertions, 9 deletions
diff --git a/arch/arm/mach-ux500/cpu-db5500.c b/arch/arm/mach-ux500/cpu-db5500.c
index 8816844d7e4..acc841e48de 100644
--- a/arch/arm/mach-ux500/cpu-db5500.c
+++ b/arch/arm/mach-ux500/cpu-db5500.c
@@ -12,6 +12,8 @@
12 12
13#include <asm/mach/map.h> 13#include <asm/mach/map.h>
14 14
15#include <plat/gpio.h>
16
15#include <mach/hardware.h> 17#include <mach/hardware.h>
16#include <mach/devices.h> 18#include <mach/devices.h>
17#include <mach/setup.h> 19#include <mach/setup.h>
@@ -113,19 +115,32 @@ static struct platform_device mbox2_device = {
113}; 115};
114 116
115static struct platform_device *u5500_platform_devs[] __initdata = { 117static struct platform_device *u5500_platform_devs[] __initdata = {
116 &u5500_gpio_devs[0],
117 &u5500_gpio_devs[1],
118 &u5500_gpio_devs[2],
119 &u5500_gpio_devs[3],
120 &u5500_gpio_devs[4],
121 &u5500_gpio_devs[5],
122 &u5500_gpio_devs[6],
123 &u5500_gpio_devs[7],
124 &mbox0_device, 118 &mbox0_device,
125 &mbox1_device, 119 &mbox1_device,
126 &mbox2_device, 120 &mbox2_device,
127}; 121};
128 122
123static resource_size_t __initdata db5500_gpio_base[] = {
124 U5500_GPIOBANK0_BASE,
125 U5500_GPIOBANK1_BASE,
126 U5500_GPIOBANK2_BASE,
127 U5500_GPIOBANK3_BASE,
128 U5500_GPIOBANK4_BASE,
129 U5500_GPIOBANK5_BASE,
130 U5500_GPIOBANK6_BASE,
131 U5500_GPIOBANK7_BASE,
132};
133
134static void __init db5500_add_gpios(void)
135{
136 struct nmk_gpio_platform_data pdata = {
137 /* No custom data yet */
138 };
139
140 dbx500_add_gpios(ARRAY_AND_SIZE(db5500_gpio_base),
141 IRQ_DB5500_GPIO0, &pdata);
142}
143
129void __init u5500_map_io(void) 144void __init u5500_map_io(void)
130{ 145{
131 ux500_map_io(); 146 ux500_map_io();
@@ -135,8 +150,8 @@ void __init u5500_map_io(void)
135 150
136void __init u5500_init_devices(void) 151void __init u5500_init_devices(void)
137{ 152{
153 db5500_add_gpios();
138 db5500_dma_init(); 154 db5500_dma_init();
139
140 db5500_add_rtc(); 155 db5500_add_rtc();
141 156
142 platform_add_devices(u5500_platform_devs, 157 platform_add_devices(u5500_platform_devs,