aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHaojian Zhuang <haojian.zhuang@gmail.com>2013-06-02 22:02:59 -0400
committerHaojian Zhuang <haojian.zhuang@gmail.com>2013-08-24 05:44:45 -0400
commit0f102b6ccec15c057d4d82f9731e6b780c9f8132 (patch)
tree3a2495647fc0610bd925b996e628e30ea6569c46
parent0f374561b50df8f29e3427717b35dd57c7ac4ca4 (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.c6
-rw-r--r--arch/arm/mach-mmp/pxa910.c6
-rw-r--r--drivers/irqchip/irq-mmp.c15
-rw-r--r--include/linux/irqchip/mmp.h6
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)
94void __init mmp2_init_irq(void) 97void __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
99static int __init mmp2_init(void) 105static 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 =
80void __init pxa910_init_irq(void) 83void __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
85static int __init pxa910_init(void) 91static 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
135static struct irq_chip icu_irq_chip = { 128struct 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
4extern struct irq_chip icu_irq_chip;
5
6#endif /* __IRQCHIP_MMP_H */