Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

+19 -14
+6
arch/arm/mach-mmp/mmp2.c
··· 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> ··· 28 26 #include <mach/mfp.h> 29 27 #include <mach/devices.h> 30 28 #include <mach/mmp2.h> 29 + #include <mach/pm-mmp2.h> 31 30 32 31 #include "common.h" 33 32 ··· 97 94 void __init mmp2_init_irq(void) 98 95 { 99 96 mmp2_init_icu(); 97 + #ifdef CONFIG_PM 98 + icu_irq_chip.irq_set_wake = mmp2_set_wake; 99 + #endif 100 100 } 101 101 102 102 static int __init mmp2_init(void)
+6
arch/arm/mach-mmp/pxa910.c
··· 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> ··· 25 23 #include <mach/dma.h> 26 24 #include <mach/mfp.h> 27 25 #include <mach/devices.h> 26 + #include <mach/pm-pxa910.h> 28 27 #include <mach/pxa910.h> 29 28 30 29 #include "common.h" ··· 83 80 void __init pxa910_init_irq(void) 84 81 { 85 82 icu_init_irq(); 83 + #ifdef CONFIG_PM 84 + icu_irq_chip.irq_set_wake = pxa910_set_wake; 85 + #endif 86 86 } 87 87 88 88 static int __init pxa910_init(void)
+1 -14
drivers/irqchip/irq-mmp.c
··· 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 ··· 125 132 } 126 133 } 127 134 128 - static struct irq_chip icu_irq_chip = { 135 + struct irq_chip icu_irq_chip = { 129 136 .name = "icu_irq", 130 137 .irq_mask = icu_mask_irq, 131 138 .irq_mask_ack = icu_mask_ack_irq, ··· 244 251 } 245 252 irq_set_default_host(icu_data[0].domain); 246 253 set_handle_irq(mmp_handle_irq); 247 - #ifdef CONFIG_CPU_PXA910 248 - icu_irq_chip.irq_set_wake = pxa910_set_wake; 249 - #endif 250 254 } 251 255 252 256 /* MMP2 (ARMv7) */ ··· 348 358 } 349 359 irq_set_default_host(icu_data[0].domain); 350 360 set_handle_irq(mmp2_handle_irq); 351 - #ifdef CONFIG_CPU_MMP2 352 - icu_irq_chip.irq_set_wake = mmp2_set_wake; 353 - #endif 354 361 } 355 362 356 363 #ifdef CONFIG_OF
+6
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 */