diff options
author | Shawn Guo <shawn.guo@linaro.org> | 2011-12-01 01:35:29 -0500 |
---|---|---|
committer | Shawn Guo <shawn.guo@linaro.org> | 2011-12-01 03:11:55 -0500 |
commit | 2a3267a489f1dc4284b64a4b88c62011946dc7ff (patch) | |
tree | b2e33b58cc6b6220645f05889a6f8e10dbbfe82f /arch/arm/mach-mx5/imx51-dt.c | |
parent | caca6a03d365883564885f2c1da3e88dcf65d139 (diff) |
arm/imx: fix return type of callback passed to of_irq_init()
The of_irq_init() expects the callback passed by .data of of_device_id
return 'int' instead of 'void'. This patch fixes it to have
irq_init_cb() return the correct value, and in turn have the secondary
interrupt controller (gpio in this case) initialized properly and also
eliminate the error message 'of_irq_init: children remain, but no
parents' which was overlooked before.
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Diffstat (limited to 'arch/arm/mach-mx5/imx51-dt.c')
-rw-r--r-- | arch/arm/mach-mx5/imx51-dt.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/arm/mach-mx5/imx51-dt.c b/arch/arm/mach-mx5/imx51-dt.c index ccc61585659b..3451a463a79a 100644 --- a/arch/arm/mach-mx5/imx51-dt.c +++ b/arch/arm/mach-mx5/imx51-dt.c | |||
@@ -44,13 +44,14 @@ static const struct of_dev_auxdata imx51_auxdata_lookup[] __initconst = { | |||
44 | { /* sentinel */ } | 44 | { /* sentinel */ } |
45 | }; | 45 | }; |
46 | 46 | ||
47 | static void __init imx51_tzic_add_irq_domain(struct device_node *np, | 47 | static int __init imx51_tzic_add_irq_domain(struct device_node *np, |
48 | struct device_node *interrupt_parent) | 48 | struct device_node *interrupt_parent) |
49 | { | 49 | { |
50 | irq_domain_add_simple(np, 0); | 50 | irq_domain_add_simple(np, 0); |
51 | return 0; | ||
51 | } | 52 | } |
52 | 53 | ||
53 | static void __init imx51_gpio_add_irq_domain(struct device_node *np, | 54 | static int __init imx51_gpio_add_irq_domain(struct device_node *np, |
54 | struct device_node *interrupt_parent) | 55 | struct device_node *interrupt_parent) |
55 | { | 56 | { |
56 | static int gpio_irq_base = MXC_GPIO_IRQ_START + ARCH_NR_GPIOS - | 57 | static int gpio_irq_base = MXC_GPIO_IRQ_START + ARCH_NR_GPIOS - |
@@ -58,6 +59,8 @@ static void __init imx51_gpio_add_irq_domain(struct device_node *np, | |||
58 | 59 | ||
59 | irq_domain_add_simple(np, gpio_irq_base); | 60 | irq_domain_add_simple(np, gpio_irq_base); |
60 | gpio_irq_base += 32; | 61 | gpio_irq_base += 32; |
62 | |||
63 | return 0; | ||
61 | } | 64 | } |
62 | 65 | ||
63 | static const struct of_device_id imx51_irq_match[] __initconst = { | 66 | static const struct of_device_id imx51_irq_match[] __initconst = { |