aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-imx/imx27-dt.c
diff options
context:
space:
mode:
authorShawn Guo <shawn.guo@linaro.org>2012-06-12 21:04:03 -0400
committerShawn Guo <shawn.guo@linaro.org>2012-07-01 09:57:22 -0400
commit1ab7ef158dfbaf6314b6660a3e3fb037cba2a1ca (patch)
tree185ffbcf9922139023bcc282ac37b2626a79facb /arch/arm/mach-imx/imx27-dt.c
parent438196c371cb32f0eacaf2a44166d9a0cf37c4a8 (diff)
gpio/mxc: move irq_domain_add_legacy call into gpio driver
Move irq_domain_add_legacy call from imx*-dt.c into gpio driver and have the gpio driver adopt irqdomain support for both DT and non-DT boot. With all imx platform code converted from static gpio irq number computation to use run-time gpio_to_irq call, we can now use irq_alloc_descs and irqdomain support to dynamically get irq_base and have the mapping between gpio and irq number available without using virtual_irq_start and MXC_GPIO_IRQ_START. Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Cc: Grant Likely <grant.likely@secretlab.ca> Acked-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Dong Aisheng <dong.aisheng@linaro.org>
Diffstat (limited to 'arch/arm/mach-imx/imx27-dt.c')
-rw-r--r--arch/arm/mach-imx/imx27-dt.c13
1 files changed, 0 insertions, 13 deletions
diff --git a/arch/arm/mach-imx/imx27-dt.c b/arch/arm/mach-imx/imx27-dt.c
index eee0cc8d92a4..c734e564f204 100644
--- a/arch/arm/mach-imx/imx27-dt.c
+++ b/arch/arm/mach-imx/imx27-dt.c
@@ -40,21 +40,8 @@ static int __init imx27_avic_add_irq_domain(struct device_node *np,
40 return 0; 40 return 0;
41} 41}
42 42
43static int __init imx27_gpio_add_irq_domain(struct device_node *np,
44 struct device_node *interrupt_parent)
45{
46 static int gpio_irq_base = MXC_GPIO_IRQ_START + ARCH_NR_GPIOS;
47
48 gpio_irq_base -= 32;
49 irq_domain_add_legacy(np, 32, gpio_irq_base, 0, &irq_domain_simple_ops,
50 NULL);
51
52 return 0;
53}
54
55static const struct of_device_id imx27_irq_match[] __initconst = { 43static const struct of_device_id imx27_irq_match[] __initconst = {
56 { .compatible = "fsl,imx27-avic", .data = imx27_avic_add_irq_domain, }, 44 { .compatible = "fsl,imx27-avic", .data = imx27_avic_add_irq_domain, },
57 { .compatible = "fsl,imx27-gpio", .data = imx27_gpio_add_irq_domain, },
58 { /* sentinel */ } 45 { /* sentinel */ }
59}; 46};
60 47