Commit 0f102b6ccec15c057d4d82f9731e6b780c9f8132

Authored by Haojian Zhuang
1 parent 0f374561b5

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>

Showing 4 changed files with 19 additions and 14 deletions Side-by-side Diff

arch/arm/mach-mmp/mmp2.c
... ... @@ -13,6 +13,8 @@
13 13 #include <linux/kernel.h>
14 14 #include <linux/init.h>
15 15 #include <linux/io.h>
  16 +#include <linux/irq.h>
  17 +#include <linux/irqchip/mmp.h>
16 18 #include <linux/platform_device.h>
17 19  
18 20 #include <asm/hardware/cache-tauros2.h>
... ... @@ -26,6 +28,7 @@
26 28 #include <mach/mfp.h>
27 29 #include <mach/devices.h>
28 30 #include <mach/mmp2.h>
  31 +#include <mach/pm-mmp2.h>
29 32  
30 33 #include "common.h"
31 34  
... ... @@ -94,6 +97,9 @@
94 97 void __init mmp2_init_irq(void)
95 98 {
96 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 105 static int __init mmp2_init(void)
arch/arm/mach-mmp/pxa910.c
... ... @@ -12,6 +12,8 @@
12 12 #include <linux/init.h>
13 13 #include <linux/list.h>
14 14 #include <linux/io.h>
  15 +#include <linux/irq.h>
  16 +#include <linux/irqchip/mmp.h>
15 17 #include <linux/platform_device.h>
16 18  
17 19 #include <asm/hardware/cache-tauros2.h>
... ... @@ -23,6 +25,7 @@
23 25 #include <mach/dma.h>
24 26 #include <mach/mfp.h>
25 27 #include <mach/devices.h>
  28 +#include <mach/pm-pxa910.h>
26 29 #include <mach/pxa910.h>
27 30  
28 31 #include "common.h"
... ... @@ -80,6 +83,9 @@
80 83 void __init pxa910_init_irq(void)
81 84 {
82 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 91 static int __init pxa910_init(void)
drivers/irqchip/irq-mmp.c
... ... @@ -26,13 +26,6 @@
26 26  
27 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 29 #include "irqchip.h"
37 30  
38 31 #define MAX_ICU_NR 16
... ... @@ -132,7 +125,7 @@
132 125 }
133 126 }
134 127  
135   -static struct irq_chip icu_irq_chip = {
  128 +struct irq_chip icu_irq_chip = {
136 129 .name = "icu_irq",
137 130 .irq_mask = icu_mask_irq,
138 131 .irq_mask_ack = icu_mask_ack_irq,
... ... @@ -251,9 +244,6 @@
251 244 }
252 245 irq_set_default_host(icu_data[0].domain);
253 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 249 /* MMP2 (ARMv7) */
... ... @@ -358,9 +348,6 @@
358 348 }
359 349 irq_set_default_host(icu_data[0].domain);
360 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 353 #ifdef CONFIG_OF
include/linux/irqchip/mmp.h
  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 */