aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2011-01-24 06:57:46 -0500
committerSascha Hauer <s.hauer@pengutronix.de>2011-01-28 02:28:35 -0500
commitef19660b0aac537928a13a4087908cc23fa4c002 (patch)
tree1ca52e1f02f6544db7809275a43339c392276753
parent376e9c5848abef8c72c09bd89f2f7ee128caa104 (diff)
ARM i.MX23/28: deobfuscate gpio initialization
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Shawn Guo <shawn.guo@freescale.com> Acked-by: Wolfram Sang <w.sang@pengutronix.de>
-rw-r--r--arch/arm/mach-mxs/gpio.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/arch/arm/mach-mxs/gpio.c b/arch/arm/mach-mxs/gpio.c
index d7ad7a61366d..36df2d751749 100644
--- a/arch/arm/mach-mxs/gpio.c
+++ b/arch/arm/mach-mxs/gpio.c
@@ -297,20 +297,17 @@ int __init mxs_gpio_init(struct mxs_gpio_port *port, int cnt)
297 .virtual_irq_start = MXS_GPIO_IRQ_START + (_id) * 32, \ 297 .virtual_irq_start = MXS_GPIO_IRQ_START + (_id) * 32, \
298 } 298 }
299 299
300#define DEFINE_REGISTER_FUNCTION(prefix) \
301int __init prefix ## _register_gpios(void) \
302{ \
303 return mxs_gpio_init(prefix ## _gpio_ports, \
304 ARRAY_SIZE(prefix ## _gpio_ports)); \
305}
306
307#ifdef CONFIG_SOC_IMX23 300#ifdef CONFIG_SOC_IMX23
308static struct mxs_gpio_port mx23_gpio_ports[] = { 301static struct mxs_gpio_port mx23_gpio_ports[] = {
309 DEFINE_MXS_GPIO_PORT(MX23, 0), 302 DEFINE_MXS_GPIO_PORT(MX23, 0),
310 DEFINE_MXS_GPIO_PORT(MX23, 1), 303 DEFINE_MXS_GPIO_PORT(MX23, 1),
311 DEFINE_MXS_GPIO_PORT(MX23, 2), 304 DEFINE_MXS_GPIO_PORT(MX23, 2),
312}; 305};
313DEFINE_REGISTER_FUNCTION(mx23) 306
307int __init mx23_register_gpios(void)
308{
309 return mxs_gpio_init(mx23_gpio_ports, ARRAY_SIZE(mx23_gpio_ports));
310}
314#endif 311#endif
315 312
316#ifdef CONFIG_SOC_IMX28 313#ifdef CONFIG_SOC_IMX28
@@ -321,5 +318,9 @@ static struct mxs_gpio_port mx28_gpio_ports[] = {
321 DEFINE_MXS_GPIO_PORT(MX28, 3), 318 DEFINE_MXS_GPIO_PORT(MX28, 3),
322 DEFINE_MXS_GPIO_PORT(MX28, 4), 319 DEFINE_MXS_GPIO_PORT(MX28, 4),
323}; 320};
324DEFINE_REGISTER_FUNCTION(mx28) 321
322int __init mx28_register_gpios(void)
323{
324 return mxs_gpio_init(mx28_gpio_ports, ARRAY_SIZE(mx28_gpio_ports));
325}
325#endif 326#endif