From: Stephen Rothwell Date: Mon, 28 Nov 2011 00:45:15 +0000 (+1100) Subject: Merge remote-tracking branch 's5p/for-next' X-Git-Tag: next-20111128~82 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=c17ae10a09e3957484841f031de7e714ec917af5;p=karo-tx-linux.git Merge remote-tracking branch 's5p/for-next' Conflicts: arch/arm/mach-exynos/cpu.c arch/arm/mach-exynos/include/mach/entry-macro.S --- c17ae10a09e3957484841f031de7e714ec917af5 diff --cc arch/arm/mach-exynos/cpu.c index 6e34485caa36,8e09f341b2c6..fed62f4d0151 --- a/arch/arm/mach-exynos/cpu.c +++ b/arch/arm/mach-exynos/cpu.c @@@ -206,6 -231,24 +230,13 @@@ void __init exynos4_init_clocks(int xta exynos4_setup_clocks(); } -static void exynos4_gic_irq_fix_base(struct irq_data *d) -{ - struct gic_chip_data *gic_data = irq_data_get_irq_chip_data(d); - - gic_data->cpu_base = S5P_VA_GIC_CPU + - (gic_bank_offset * smp_processor_id()); - - gic_data->dist_base = S5P_VA_GIC_DIST + - (gic_bank_offset * smp_processor_id()); -} - + #ifdef CONFIG_OF + static const struct of_device_id exynos4_dt_irq_match[] = { + { .compatible = "arm,cortex-a9-gic", .data = gic_of_init, }, + {}, + }; + #endif + void __init exynos4_init_irq(void) { int irq; @@@ -213,8 -255,17 +244,13 @@@ gic_bank_offset = soc_is_exynos4412() ? 0x4000 : 0x8000; - gic_init_bases(0, IRQ_PPI(0), S5P_VA_GIC_DIST, S5P_VA_GIC_CPU, gic_bank_offset); + if (!of_have_populated_dt()) - gic_init(0, IRQ_PPI(0), S5P_VA_GIC_DIST, S5P_VA_GIC_CPU); ++ gic_init_bases(0, IRQ_PPI(0), S5P_VA_GIC_DIST, S5P_VA_GIC_CPU, gic_bank_offset); + #ifdef CONFIG_OF + else + of_irq_init(exynos4_dt_irq_match); + #endif - gic_arch_extn.irq_eoi = exynos4_gic_irq_fix_base; - gic_arch_extn.irq_unmask = exynos4_gic_irq_fix_base; - gic_arch_extn.irq_mask = exynos4_gic_irq_fix_base; - for (irq = 0; irq < MAX_COMBINER_NR; irq++) { combiner_init(irq, (void __iomem *)S5P_VA_COMBINER(irq), diff --cc arch/arm/mach-exynos/mach-origen.c index 5561b06c38ec,f56d02705e0a..48d157e85ee6 --- a/arch/arm/mach-exynos/mach-origen.c +++ b/arch/arm/mach-exynos/mach-origen.c @@@ -20,9 -20,9 +20,10 @@@ #include #include #include + #include #include +#include #include #include