diff options
author | Haojian Zhuang <haojian.zhuang@gmail.com> | 2013-06-02 22:02:59 -0400 |
---|---|---|
committer | Haojian Zhuang <haojian.zhuang@gmail.com> | 2013-08-24 05:44:45 -0400 |
commit | 0f102b6ccec15c057d4d82f9731e6b780c9f8132 (patch) | |
tree | 3a2495647fc0610bd925b996e628e30ea6569c46 | |
parent | 0f374561b50df8f29e3427717b35dd57c7ac4ca4 (diff) |
ARM: mmp: avoid to include head file in mach-mmp
pxa910_set_wake() & mmp2_set_wake() are both declared in head files
of arch/arm/mach-mmp/include/mach directory. If we include these
head files in irq-mmp driver, it blocks the multiplatform build.
So adjust the code.
Signed-off-by: Haojian Zhuang <haojian.zhuang@gmail.com>
-rw-r--r-- | arch/arm/mach-mmp/mmp2.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-mmp/pxa910.c | 6 | ||||
-rw-r--r-- | drivers/irqchip/irq-mmp.c | 15 | ||||
-rw-r--r-- | include/linux/irqchip/mmp.h | 6 |
4 files changed, 19 insertions, 14 deletions
diff --git a/arch/arm/mach-mmp/mmp2.c b/arch/arm/mach-mmp/mmp2.c index c7592f168bbd..a70b5530bd42 100644 --- a/arch/arm/mach-mmp/mmp2.c +++ b/arch/arm/mach-mmp/mmp2.c | |||
@@ -13,6 +13,8 @@ | |||
13 | #include <linux/kernel.h> | 13 | #include <linux/kernel.h> |
14 | #include <linux/init.h> | 14 | #include <linux/init.h> |
15 | #include <linux/io.h> | 15 | #include <linux/io.h> |
16 | #include <linux/irq.h> | ||
17 | #include <linux/irqchip/mmp.h> | ||
16 | #include <linux/platform_device.h> | 18 | #include <linux/platform_device.h> |
17 | 19 | ||
18 | #include <asm/hardware/cache-tauros2.h> | 20 | #include <asm/hardware/cache-tauros2.h> |
@@ -26,6 +28,7 @@ | |||
26 | #include <mach/mfp.h> | 28 | #include <mach/mfp.h> |
27 | #include <mach/devices.h> | 29 | #include <mach/devices.h> |
28 | #include <mach/mmp2.h> | 30 | #include <mach/mmp2.h> |
31 | #include <mach/pm-mmp2.h> | ||
29 | 32 | ||
30 | #include "common.h" | 33 | #include "common.h" |
31 | 34 | ||
@@ -94,6 +97,9 @@ void mmp2_clear_pmic_int(void) | |||
94 | void __init mmp2_init_irq(void) | 97 | void __init mmp2_init_irq(void) |
95 | { | 98 | { |
96 | mmp2_init_icu(); | 99 | mmp2_init_icu(); |
100 | #ifdef CONFIG_PM | ||
101 | icu_irq_chip.irq_set_wake = mmp2_set_wake; | ||
102 | #endif | ||
97 | } | 103 | } |
98 | 104 | ||
99 | static int __init mmp2_init(void) | 105 | static int __init mmp2_init(void) |
diff --git a/arch/arm/mach-mmp/pxa910.c b/arch/arm/mach-mmp/pxa910.c index a586742fabf2..eb57ee196842 100644 --- a/arch/arm/mach-mmp/pxa910.c +++ b/arch/arm/mach-mmp/pxa910.c | |||
@@ -12,6 +12,8 @@ | |||
12 | #include <linux/init.h> | 12 | #include <linux/init.h> |
13 | #include <linux/list.h> | 13 | #include <linux/list.h> |
14 | #include <linux/io.h> | 14 | #include <linux/io.h> |
15 | #include <linux/irq.h> | ||
16 | #include <linux/irqchip/mmp.h> | ||
15 | #include <linux/platform_device.h> | 17 | #include <linux/platform_device.h> |
16 | 18 | ||
17 | #include <asm/hardware/cache-tauros2.h> | 19 | #include <asm/hardware/cache-tauros2.h> |
@@ -23,6 +25,7 @@ | |||
23 | #include <mach/dma.h> | 25 | #include <mach/dma.h> |
24 | #include <mach/mfp.h> | 26 | #include <mach/mfp.h> |
25 | #include <mach/devices.h> | 27 | #include <mach/devices.h> |
28 | #include <mach/pm-pxa910.h> | ||
26 | #include <mach/pxa910.h> | 29 | #include <mach/pxa910.h> |
27 | 30 | ||
28 | #include "common.h" | 31 | #include "common.h" |
@@ -80,6 +83,9 @@ static struct mfp_addr_map pxa910_mfp_addr_map[] __initdata = | |||
80 | void __init pxa910_init_irq(void) | 83 | void __init pxa910_init_irq(void) |
81 | { | 84 | { |
82 | icu_init_irq(); | 85 | icu_init_irq(); |
86 | #ifdef CONFIG_PM | ||
87 | icu_irq_chip.irq_set_wake = pxa910_set_wake; | ||
88 | #endif | ||
83 | } | 89 | } |
84 | 90 | ||
85 | static int __init pxa910_init(void) | 91 | static int __init pxa910_init(void) |
diff --git a/drivers/irqchip/irq-mmp.c b/drivers/irqchip/irq-mmp.c index 84d51ff836ee..1f8143278d4b 100644 --- a/drivers/irqchip/irq-mmp.c +++ b/drivers/irqchip/irq-mmp.c | |||
@@ -26,13 +26,6 @@ | |||
26 | 26 | ||
27 | #include <mach/irqs.h> | 27 | #include <mach/irqs.h> |
28 | 28 | ||
29 | #ifdef CONFIG_CPU_MMP2 | ||
30 | #include <mach/pm-mmp2.h> | ||
31 | #endif | ||
32 | #ifdef CONFIG_CPU_PXA910 | ||
33 | #include <mach/pm-pxa910.h> | ||
34 | #endif | ||
35 | |||
36 | #include "irqchip.h" | 29 | #include "irqchip.h" |
37 | 30 | ||
38 | #define MAX_ICU_NR 16 | 31 | #define MAX_ICU_NR 16 |
@@ -132,7 +125,7 @@ static void icu_unmask_irq(struct irq_data *d) | |||
132 | } | 125 | } |
133 | } | 126 | } |
134 | 127 | ||
135 | static struct irq_chip icu_irq_chip = { | 128 | struct irq_chip icu_irq_chip = { |
136 | .name = "icu_irq", | 129 | .name = "icu_irq", |
137 | .irq_mask = icu_mask_irq, | 130 | .irq_mask = icu_mask_irq, |
138 | .irq_mask_ack = icu_mask_ack_irq, | 131 | .irq_mask_ack = icu_mask_ack_irq, |
@@ -251,9 +244,6 @@ void __init icu_init_irq(void) | |||
251 | } | 244 | } |
252 | irq_set_default_host(icu_data[0].domain); | 245 | irq_set_default_host(icu_data[0].domain); |
253 | set_handle_irq(mmp_handle_irq); | 246 | set_handle_irq(mmp_handle_irq); |
254 | #ifdef CONFIG_CPU_PXA910 | ||
255 | icu_irq_chip.irq_set_wake = pxa910_set_wake; | ||
256 | #endif | ||
257 | } | 247 | } |
258 | 248 | ||
259 | /* MMP2 (ARMv7) */ | 249 | /* MMP2 (ARMv7) */ |
@@ -358,9 +348,6 @@ void __init mmp2_init_icu(void) | |||
358 | } | 348 | } |
359 | irq_set_default_host(icu_data[0].domain); | 349 | irq_set_default_host(icu_data[0].domain); |
360 | set_handle_irq(mmp2_handle_irq); | 350 | set_handle_irq(mmp2_handle_irq); |
361 | #ifdef CONFIG_CPU_MMP2 | ||
362 | icu_irq_chip.irq_set_wake = mmp2_set_wake; | ||
363 | #endif | ||
364 | } | 351 | } |
365 | 352 | ||
366 | #ifdef CONFIG_OF | 353 | #ifdef CONFIG_OF |
diff --git a/include/linux/irqchip/mmp.h b/include/linux/irqchip/mmp.h new file mode 100644 index 000000000000..c78a8921185d --- /dev/null +++ b/include/linux/irqchip/mmp.h | |||
@@ -0,0 +1,6 @@ | |||
1 | #ifndef __IRQCHIP_MMP_H | ||
2 | #define __IRQCHIP_MMP_H | ||
3 | |||
4 | extern struct irq_chip icu_irq_chip; | ||
5 | |||
6 | #endif /* __IRQCHIP_MMP_H */ | ||