diff options
author | Robert Jarzmik <robert.jarzmik@free.fr> | 2016-08-14 18:24:55 -0400 |
---|---|---|
committer | Robert Jarzmik <robert.jarzmik@free.fr> | 2016-09-09 12:08:01 -0400 |
commit | 32f17997c1307c44f9365ed5ff4cf2b5c1e22301 (patch) | |
tree | defd09c63ceb2b494012764aa9726c86282732f4 | |
parent | 8571110575c985b12d443288c397dba6dc7a44f5 (diff) |
ARM: pxa: remove irq init from dt machines
The init_irq and handle_irq can be declared through standard irqchip
declaration and are not necessary in machine descriptions.
This is another step towards the generic kernel for the pxa
architecture.
Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Acked-by: Arnd Bergmann <arnd@arndb.de>
-rw-r--r-- | arch/arm/mach-pxa/generic.h | 3 | ||||
-rw-r--r-- | arch/arm/mach-pxa/pxa-dt.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-pxa/pxa25x.c | 11 | ||||
-rw-r--r-- | arch/arm/mach-pxa/pxa27x.c | 11 | ||||
-rw-r--r-- | arch/arm/mach-pxa/pxa3xx.c | 8 |
5 files changed, 23 insertions, 16 deletions
diff --git a/arch/arm/mach-pxa/generic.h b/arch/arm/mach-pxa/generic.h index 3f914d97cac2..75e3f611e5d8 100644 --- a/arch/arm/mach-pxa/generic.h +++ b/arch/arm/mach-pxa/generic.h | |||
@@ -27,21 +27,18 @@ extern void pxa_timer_init(void); | |||
27 | 27 | ||
28 | #define pxa25x_handle_irq icip_handle_irq | 28 | #define pxa25x_handle_irq icip_handle_irq |
29 | extern int __init pxa25x_clocks_init(void); | 29 | extern int __init pxa25x_clocks_init(void); |
30 | extern void __init pxa25x_dt_init_irq(void); | ||
31 | extern void __init pxa25x_init_irq(void); | 30 | extern void __init pxa25x_init_irq(void); |
32 | extern void __init pxa25x_map_io(void); | 31 | extern void __init pxa25x_map_io(void); |
33 | extern void __init pxa26x_init_irq(void); | 32 | extern void __init pxa26x_init_irq(void); |
34 | 33 | ||
35 | #define pxa27x_handle_irq ichp_handle_irq | 34 | #define pxa27x_handle_irq ichp_handle_irq |
36 | extern int __init pxa27x_clocks_init(void); | 35 | extern int __init pxa27x_clocks_init(void); |
37 | extern void __init pxa27x_dt_init_irq(void); | ||
38 | extern unsigned pxa27x_get_clk_frequency_khz(int); | 36 | extern unsigned pxa27x_get_clk_frequency_khz(int); |
39 | extern void __init pxa27x_init_irq(void); | 37 | extern void __init pxa27x_init_irq(void); |
40 | extern void __init pxa27x_map_io(void); | 38 | extern void __init pxa27x_map_io(void); |
41 | 39 | ||
42 | #define pxa3xx_handle_irq ichp_handle_irq | 40 | #define pxa3xx_handle_irq ichp_handle_irq |
43 | extern int __init pxa3xx_clocks_init(void); | 41 | extern int __init pxa3xx_clocks_init(void); |
44 | extern void __init pxa3xx_dt_init_irq(void); | ||
45 | extern void __init pxa3xx_init_irq(void); | 42 | extern void __init pxa3xx_init_irq(void); |
46 | extern void __init pxa3xx_map_io(void); | 43 | extern void __init pxa3xx_map_io(void); |
47 | 44 | ||
diff --git a/arch/arm/mach-pxa/pxa-dt.c b/arch/arm/mach-pxa/pxa-dt.c index 3e331e61f995..aa9b255f5570 100644 --- a/arch/arm/mach-pxa/pxa-dt.c +++ b/arch/arm/mach-pxa/pxa-dt.c | |||
@@ -26,8 +26,6 @@ static const char * const pxa25x_dt_board_compat[] __initconst = { | |||
26 | 26 | ||
27 | DT_MACHINE_START(PXA25X_DT, "Marvell PXA25x (Device Tree Support)") | 27 | DT_MACHINE_START(PXA25X_DT, "Marvell PXA25x (Device Tree Support)") |
28 | .map_io = pxa25x_map_io, | 28 | .map_io = pxa25x_map_io, |
29 | .init_irq = pxa25x_dt_init_irq, | ||
30 | .handle_irq = pxa25x_handle_irq, | ||
31 | .restart = pxa_restart, | 29 | .restart = pxa_restart, |
32 | .dt_compat = pxa25x_dt_board_compat, | 30 | .dt_compat = pxa25x_dt_board_compat, |
33 | MACHINE_END | 31 | MACHINE_END |
@@ -41,8 +39,6 @@ static const char * const pxa27x_dt_board_compat[] __initconst = { | |||
41 | 39 | ||
42 | DT_MACHINE_START(PXA27X_DT, "Marvell PXA27x (Device Tree Support)") | 40 | DT_MACHINE_START(PXA27X_DT, "Marvell PXA27x (Device Tree Support)") |
43 | .map_io = pxa27x_map_io, | 41 | .map_io = pxa27x_map_io, |
44 | .init_irq = pxa27x_dt_init_irq, | ||
45 | .handle_irq = pxa27x_handle_irq, | ||
46 | .restart = pxa_restart, | 42 | .restart = pxa_restart, |
47 | .dt_compat = pxa27x_dt_board_compat, | 43 | .dt_compat = pxa27x_dt_board_compat, |
48 | MACHINE_END | 44 | MACHINE_END |
@@ -58,8 +54,6 @@ static const char *const pxa3xx_dt_board_compat[] __initconst = { | |||
58 | 54 | ||
59 | DT_MACHINE_START(PXA_DT, "Marvell PXA3xx (Device Tree Support)") | 55 | DT_MACHINE_START(PXA_DT, "Marvell PXA3xx (Device Tree Support)") |
60 | .map_io = pxa3xx_map_io, | 56 | .map_io = pxa3xx_map_io, |
61 | .init_irq = pxa3xx_dt_init_irq, | ||
62 | .handle_irq = pxa3xx_handle_irq, | ||
63 | .restart = pxa_restart, | 57 | .restart = pxa_restart, |
64 | .dt_compat = pxa3xx_dt_board_compat, | 58 | .dt_compat = pxa3xx_dt_board_compat, |
65 | MACHINE_END | 59 | MACHINE_END |
diff --git a/arch/arm/mach-pxa/pxa25x.c b/arch/arm/mach-pxa/pxa25x.c index 30b4270adc02..12b94357fbc1 100644 --- a/arch/arm/mach-pxa/pxa25x.c +++ b/arch/arm/mach-pxa/pxa25x.c | |||
@@ -25,6 +25,7 @@ | |||
25 | #include <linux/suspend.h> | 25 | #include <linux/suspend.h> |
26 | #include <linux/syscore_ops.h> | 26 | #include <linux/syscore_ops.h> |
27 | #include <linux/irq.h> | 27 | #include <linux/irq.h> |
28 | #include <linux/irqchip.h> | ||
28 | 29 | ||
29 | #include <asm/mach/map.h> | 30 | #include <asm/mach/map.h> |
30 | #include <asm/suspend.h> | 31 | #include <asm/suspend.h> |
@@ -151,11 +152,15 @@ void __init pxa26x_init_irq(void) | |||
151 | } | 152 | } |
152 | #endif | 153 | #endif |
153 | 154 | ||
154 | void __init pxa25x_dt_init_irq(void) | 155 | static int __init __init |
156 | pxa25x_dt_init_irq(struct device_node *node, struct device_node *parent) | ||
155 | { | 157 | { |
156 | if (IS_ENABLED(CONFIG_OF)) | 158 | pxa_dt_irq_init(pxa25x_set_wake); |
157 | pxa_dt_irq_init(pxa25x_set_wake); | 159 | set_handle_irq(ichp_handle_irq); |
160 | |||
161 | return 0; | ||
158 | } | 162 | } |
163 | IRQCHIP_DECLARE(pxa25x_intc, "marvell,pxa-intc", pxa25x_dt_init_irq); | ||
159 | 164 | ||
160 | static struct map_desc pxa25x_io_desc[] __initdata = { | 165 | static struct map_desc pxa25x_io_desc[] __initdata = { |
161 | { /* Mem Ctl */ | 166 | { /* Mem Ctl */ |
diff --git a/arch/arm/mach-pxa/pxa27x.c b/arch/arm/mach-pxa/pxa27x.c index 488d0ab789d2..c0185c5c5a08 100644 --- a/arch/arm/mach-pxa/pxa27x.c +++ b/arch/arm/mach-pxa/pxa27x.c | |||
@@ -16,6 +16,7 @@ | |||
16 | #include <linux/module.h> | 16 | #include <linux/module.h> |
17 | #include <linux/kernel.h> | 17 | #include <linux/kernel.h> |
18 | #include <linux/init.h> | 18 | #include <linux/init.h> |
19 | #include <linux/irqchip.h> | ||
19 | #include <linux/suspend.h> | 20 | #include <linux/suspend.h> |
20 | #include <linux/platform_device.h> | 21 | #include <linux/platform_device.h> |
21 | #include <linux/syscore_ops.h> | 22 | #include <linux/syscore_ops.h> |
@@ -233,11 +234,15 @@ void __init pxa27x_init_irq(void) | |||
233 | pxa_init_irq(34, pxa27x_set_wake); | 234 | pxa_init_irq(34, pxa27x_set_wake); |
234 | } | 235 | } |
235 | 236 | ||
236 | void __init pxa27x_dt_init_irq(void) | 237 | static int __init |
238 | pxa27x_dt_init_irq(struct device_node *node, struct device_node *parent) | ||
237 | { | 239 | { |
238 | if (IS_ENABLED(CONFIG_OF)) | 240 | pxa_dt_irq_init(pxa27x_set_wake); |
239 | pxa_dt_irq_init(pxa27x_set_wake); | 241 | set_handle_irq(ichp_handle_irq); |
242 | |||
243 | return 0; | ||
240 | } | 244 | } |
245 | IRQCHIP_DECLARE(pxa27x_intc, "marvell,pxa-intc", pxa27x_dt_init_irq); | ||
241 | 246 | ||
242 | static struct map_desc pxa27x_io_desc[] __initdata = { | 247 | static struct map_desc pxa27x_io_desc[] __initdata = { |
243 | { /* Mem Ctl */ | 248 | { /* Mem Ctl */ |
diff --git a/arch/arm/mach-pxa/pxa3xx.c b/arch/arm/mach-pxa/pxa3xx.c index 6a014c8d8a47..87acc96388c7 100644 --- a/arch/arm/mach-pxa/pxa3xx.c +++ b/arch/arm/mach-pxa/pxa3xx.c | |||
@@ -19,6 +19,7 @@ | |||
19 | #include <linux/pm.h> | 19 | #include <linux/pm.h> |
20 | #include <linux/platform_device.h> | 20 | #include <linux/platform_device.h> |
21 | #include <linux/irq.h> | 21 | #include <linux/irq.h> |
22 | #include <linux/irqchip.h> | ||
22 | #include <linux/io.h> | 23 | #include <linux/io.h> |
23 | #include <linux/of.h> | 24 | #include <linux/of.h> |
24 | #include <linux/syscore_ops.h> | 25 | #include <linux/syscore_ops.h> |
@@ -356,11 +357,16 @@ void __init pxa3xx_init_irq(void) | |||
356 | } | 357 | } |
357 | 358 | ||
358 | #ifdef CONFIG_OF | 359 | #ifdef CONFIG_OF |
359 | void __init pxa3xx_dt_init_irq(void) | 360 | static int __init __init |
361 | pxa3xx_dt_init_irq(struct device_node *node, struct device_node *parent) | ||
360 | { | 362 | { |
361 | __pxa3xx_init_irq(); | 363 | __pxa3xx_init_irq(); |
362 | pxa_dt_irq_init(pxa3xx_set_wake); | 364 | pxa_dt_irq_init(pxa3xx_set_wake); |
365 | set_handle_irq(ichp_handle_irq); | ||
366 | |||
367 | return 0; | ||
363 | } | 368 | } |
369 | IRQCHIP_DECLARE(pxa3xx_intc, "marvell,pxa-intc", pxa3xx_dt_init_irq); | ||
364 | #endif /* CONFIG_OF */ | 370 | #endif /* CONFIG_OF */ |
365 | 371 | ||
366 | static struct map_desc pxa3xx_io_desc[] __initdata = { | 372 | static struct map_desc pxa3xx_io_desc[] __initdata = { |