diff options
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/common/gic.c | 7 | ||||
-rw-r--r-- | arch/arm/include/asm/hardware/gic.h | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap2/omap-smp.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-realview/platsmp.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-s5pv310/platsmp.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-tegra/platsmp.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-ux500/platsmp.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-vexpress/platsmp.c | 2 |
8 files changed, 13 insertions, 8 deletions
diff --git a/arch/arm/common/gic.c b/arch/arm/common/gic.c index 8eab2f34a7fa..dd0d18d560ac 100644 --- a/arch/arm/common/gic.c +++ b/arch/arm/common/gic.c | |||
@@ -284,7 +284,7 @@ static void __init gic_dist_init(unsigned int gic_nr, void __iomem *base, | |||
284 | writel(1, base + GIC_DIST_CTRL); | 284 | writel(1, base + GIC_DIST_CTRL); |
285 | } | 285 | } |
286 | 286 | ||
287 | void __cpuinit gic_cpu_init(unsigned int gic_nr, void __iomem *base) | 287 | static void __cpuinit gic_cpu_init(unsigned int gic_nr, void __iomem *base) |
288 | { | 288 | { |
289 | void __iomem *dist_base; | 289 | void __iomem *dist_base; |
290 | int i; | 290 | int i; |
@@ -321,6 +321,11 @@ void __init gic_init(unsigned int gic_nr, unsigned int irq_start, | |||
321 | gic_cpu_init(gic_nr, cpu_base); | 321 | gic_cpu_init(gic_nr, cpu_base); |
322 | } | 322 | } |
323 | 323 | ||
324 | void __cpuinit gic_secondary_init(unsigned int gic_nr) | ||
325 | { | ||
326 | gic_cpu_init(gic_nr, gic_data[gic_nr].cpu_base); | ||
327 | } | ||
328 | |||
324 | #ifdef CONFIG_SMP | 329 | #ifdef CONFIG_SMP |
325 | void gic_raise_softirq(const struct cpumask *mask, unsigned int irq) | 330 | void gic_raise_softirq(const struct cpumask *mask, unsigned int irq) |
326 | { | 331 | { |
diff --git a/arch/arm/include/asm/hardware/gic.h b/arch/arm/include/asm/hardware/gic.h index 387c6ae55673..48876a3fbda8 100644 --- a/arch/arm/include/asm/hardware/gic.h +++ b/arch/arm/include/asm/hardware/gic.h | |||
@@ -33,8 +33,8 @@ | |||
33 | #define GIC_DIST_SOFTINT 0xf00 | 33 | #define GIC_DIST_SOFTINT 0xf00 |
34 | 34 | ||
35 | #ifndef __ASSEMBLY__ | 35 | #ifndef __ASSEMBLY__ |
36 | void gic_cpu_init(unsigned int gic_nr, void __iomem *base); | ||
37 | void gic_init(unsigned int, unsigned int, void __iomem *, void __iomem *); | 36 | void gic_init(unsigned int, unsigned int, void __iomem *, void __iomem *); |
37 | void gic_secondary_init(unsigned int); | ||
38 | void gic_cascade_irq(unsigned int gic_nr, unsigned int irq); | 38 | void gic_cascade_irq(unsigned int gic_nr, unsigned int irq); |
39 | void gic_raise_softirq(const struct cpumask *mask, unsigned int irq); | 39 | void gic_raise_softirq(const struct cpumask *mask, unsigned int irq); |
40 | #endif | 40 | #endif |
diff --git a/arch/arm/mach-omap2/omap-smp.c b/arch/arm/mach-omap2/omap-smp.c index 9e9f70e18e3c..9fbac2c39104 100644 --- a/arch/arm/mach-omap2/omap-smp.c +++ b/arch/arm/mach-omap2/omap-smp.c | |||
@@ -50,7 +50,7 @@ void __cpuinit platform_secondary_init(unsigned int cpu) | |||
50 | * core (e.g. timer irq), then they will not have been enabled | 50 | * core (e.g. timer irq), then they will not have been enabled |
51 | * for us: do so | 51 | * for us: do so |
52 | */ | 52 | */ |
53 | gic_cpu_init(0, gic_cpu_base_addr); | 53 | gic_secondary_init(0); |
54 | 54 | ||
55 | /* | 55 | /* |
56 | * Synchronise with the boot thread. | 56 | * Synchronise with the boot thread. |
diff --git a/arch/arm/mach-realview/platsmp.c b/arch/arm/mach-realview/platsmp.c index 009265818d55..6da8a2e53c44 100644 --- a/arch/arm/mach-realview/platsmp.c +++ b/arch/arm/mach-realview/platsmp.c | |||
@@ -69,7 +69,7 @@ void __cpuinit platform_secondary_init(unsigned int cpu) | |||
69 | * core (e.g. timer irq), then they will not have been enabled | 69 | * core (e.g. timer irq), then they will not have been enabled |
70 | * for us: do so | 70 | * for us: do so |
71 | */ | 71 | */ |
72 | gic_cpu_init(0, gic_cpu_base_addr); | 72 | gic_secondary_init(0); |
73 | 73 | ||
74 | /* | 74 | /* |
75 | * let the primary processor know we're out of the | 75 | * let the primary processor know we're out of the |
diff --git a/arch/arm/mach-s5pv310/platsmp.c b/arch/arm/mach-s5pv310/platsmp.c index d357c198edee..15929c169f81 100644 --- a/arch/arm/mach-s5pv310/platsmp.c +++ b/arch/arm/mach-s5pv310/platsmp.c | |||
@@ -54,7 +54,7 @@ void __cpuinit platform_secondary_init(unsigned int cpu) | |||
54 | * core (e.g. timer irq), then they will not have been enabled | 54 | * core (e.g. timer irq), then they will not have been enabled |
55 | * for us: do so | 55 | * for us: do so |
56 | */ | 56 | */ |
57 | gic_cpu_init(0, gic_cpu_base_addr); | 57 | gic_secondary_init(0); |
58 | 58 | ||
59 | /* | 59 | /* |
60 | * let the primary processor know we're out of the | 60 | * let the primary processor know we're out of the |
diff --git a/arch/arm/mach-tegra/platsmp.c b/arch/arm/mach-tegra/platsmp.c index 1c0fd92cab39..3b7376c4f356 100644 --- a/arch/arm/mach-tegra/platsmp.c +++ b/arch/arm/mach-tegra/platsmp.c | |||
@@ -48,7 +48,7 @@ void __cpuinit platform_secondary_init(unsigned int cpu) | |||
48 | * core (e.g. timer irq), then they will not have been enabled | 48 | * core (e.g. timer irq), then they will not have been enabled |
49 | * for us: do so | 49 | * for us: do so |
50 | */ | 50 | */ |
51 | gic_cpu_init(0, IO_ADDRESS(TEGRA_ARM_PERIF_BASE) + 0x100); | 51 | gic_secondary_init(0); |
52 | 52 | ||
53 | /* | 53 | /* |
54 | * Synchronise with the boot thread. | 54 | * Synchronise with the boot thread. |
diff --git a/arch/arm/mach-ux500/platsmp.c b/arch/arm/mach-ux500/platsmp.c index 9e4c678de785..b5077b4c419f 100644 --- a/arch/arm/mach-ux500/platsmp.c +++ b/arch/arm/mach-ux500/platsmp.c | |||
@@ -44,7 +44,7 @@ void __cpuinit platform_secondary_init(unsigned int cpu) | |||
44 | * core (e.g. timer irq), then they will not have been enabled | 44 | * core (e.g. timer irq), then they will not have been enabled |
45 | * for us: do so | 45 | * for us: do so |
46 | */ | 46 | */ |
47 | gic_cpu_init(0, __io_address(UX500_GIC_CPU_BASE)); | 47 | gic_secondary_init(0); |
48 | 48 | ||
49 | /* | 49 | /* |
50 | * let the primary processor know we're out of the | 50 | * let the primary processor know we're out of the |
diff --git a/arch/arm/mach-vexpress/platsmp.c b/arch/arm/mach-vexpress/platsmp.c index 670970699ba9..dfb591031d17 100644 --- a/arch/arm/mach-vexpress/platsmp.c +++ b/arch/arm/mach-vexpress/platsmp.c | |||
@@ -51,7 +51,7 @@ void __cpuinit platform_secondary_init(unsigned int cpu) | |||
51 | * core (e.g. timer irq), then they will not have been enabled | 51 | * core (e.g. timer irq), then they will not have been enabled |
52 | * for us: do so | 52 | * for us: do so |
53 | */ | 53 | */ |
54 | gic_cpu_init(0, gic_cpu_base_addr); | 54 | gic_secondary_init(0); |
55 | 55 | ||
56 | /* | 56 | /* |
57 | * let the primary processor know we're out of the | 57 | * let the primary processor know we're out of the |