From b1cffebf1029c87e1f1984d48463ee21093a6bc7 Mon Sep 17 00:00:00 2001 From: Rob Herring Date: Mon, 26 Nov 2012 15:05:48 -0600 Subject: ARM: GIC: remove direct use of gic_raise_softirq In preparation of moving gic code to drivers/irqchip, remove the direct platform dependencies on gic_raise_softirq. Move the setup of smp_cross_call into the gic code and use arch_send_wakeup_ipi_mask function to trigger wake-up IPIs. Signed-off-by: Rob Herring Cc: Russell King Cc: Kukjin Kim Cc: Sascha Hauer Cc: David Brown Cc: Daniel Walker Cc: Bryan Huntsman Acked-by: Tony Lindgren Acked-by: Santosh Shilimkar Cc: Paul Mundt Cc: Magnus Damm Acked-by: Viresh Kumar Cc: Shiraz Hashim Acked-by: Stephen Warren Cc: Srinidhi Kasagar Cc: Linus Walleij Acked-by: Olof Johansson --- arch/arm/mach-shmobile/platsmp.c | 2 -- arch/arm/mach-shmobile/smp-emev2.c | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) (limited to 'arch/arm/mach-shmobile') diff --git a/arch/arm/mach-shmobile/platsmp.c b/arch/arm/mach-shmobile/platsmp.c index ed8d235..d393c52 100644 --- a/arch/arm/mach-shmobile/platsmp.c +++ b/arch/arm/mach-shmobile/platsmp.c @@ -26,6 +26,4 @@ void __init shmobile_smp_init_cpus(unsigned int ncores) for (i = 0; i < ncores; i++) set_cpu_possible(i, true); - - set_smp_cross_call(gic_raise_softirq); } diff --git a/arch/arm/mach-shmobile/smp-emev2.c b/arch/arm/mach-shmobile/smp-emev2.c index f674562..6262d67 100644 --- a/arch/arm/mach-shmobile/smp-emev2.c +++ b/arch/arm/mach-shmobile/smp-emev2.c @@ -100,7 +100,7 @@ static int __cpuinit emev2_boot_secondary(unsigned int cpu, struct task_struct * /* Tell ROM loader about our vector (in headsmp.S) */ emev2_set_boot_vector(__pa(shmobile_secondary_vector)); - gic_raise_softirq(cpumask_of(cpu), 0); + arch_send_wakeup_ipi_mask(cpumask_of(cpu)); return 0; } -- cgit v1.1 From 1d5cc604f42ff1acdec0407247b2f720135ba0c2 Mon Sep 17 00:00:00 2001 From: Rob Herring Date: Tue, 20 Nov 2012 19:52:32 -0600 Subject: ARM: remove mach .handle_irq for GIC users Now that the GIC initialization sets up the handle_arch_irq pointer, we can remove it for all machines and make it static. Signed-off-by: Rob Herring Cc: Russell King Cc: Anton Vorontsov Cc: Kyungmin Park Cc: Sascha Hauer Cc: David Brown Cc: Daniel Walker Cc: Bryan Huntsman Acked-by: Tony Lindgren Cc: Paul Mundt Cc: Magnus Damm Cc: Dinh Nguyen Cc: Shiraz Hashim Acked-by: Stephen Warren Cc: Srinidhi Kasagar Cc: Linus Walleij Acked-by: Viresh Kumar Acked-by: Kukjin Kim Acked-by: Shawn Guo Acked-by: Olof Johansson Acked-by: Arnd Bergmann --- arch/arm/mach-shmobile/board-ag5evm.c | 1 - arch/arm/mach-shmobile/board-kota2.c | 1 - arch/arm/mach-shmobile/board-kzm9d.c | 2 -- arch/arm/mach-shmobile/board-kzm9g.c | 1 - arch/arm/mach-shmobile/board-marzen.c | 2 -- arch/arm/mach-shmobile/platsmp.c | 1 - arch/arm/mach-shmobile/setup-emev2.c | 1 - 7 files changed, 9 deletions(-) (limited to 'arch/arm/mach-shmobile') diff --git a/arch/arm/mach-shmobile/board-ag5evm.c b/arch/arm/mach-shmobile/board-ag5evm.c index 032d108..81b31f5 100644 --- a/arch/arm/mach-shmobile/board-ag5evm.c +++ b/arch/arm/mach-shmobile/board-ag5evm.c @@ -668,7 +668,6 @@ MACHINE_START(AG5EVM, "ag5evm") .init_early = sh73a0_add_early_devices, .nr_irqs = NR_IRQS_LEGACY, .init_irq = sh73a0_init_irq, - .handle_irq = gic_handle_irq, .init_machine = ag5evm_init, .init_late = shmobile_init_late, .timer = &shmobile_timer, diff --git a/arch/arm/mach-shmobile/board-kota2.c b/arch/arm/mach-shmobile/board-kota2.c index bf88f9a..2df8e60 100644 --- a/arch/arm/mach-shmobile/board-kota2.c +++ b/arch/arm/mach-shmobile/board-kota2.c @@ -550,7 +550,6 @@ MACHINE_START(KOTA2, "kota2") .init_early = sh73a0_add_early_devices, .nr_irqs = NR_IRQS_LEGACY, .init_irq = sh73a0_init_irq, - .handle_irq = gic_handle_irq, .init_machine = kota2_init, .init_late = shmobile_init_late, .timer = &shmobile_timer, diff --git a/arch/arm/mach-shmobile/board-kzm9d.c b/arch/arm/mach-shmobile/board-kzm9d.c index b52bc0d..f3f180d 100644 --- a/arch/arm/mach-shmobile/board-kzm9d.c +++ b/arch/arm/mach-shmobile/board-kzm9d.c @@ -28,7 +28,6 @@ #include #include #include -#include /* Dummy supplies, where voltage doesn't matter */ static struct regulator_consumer_supply dummy_supplies[] = { @@ -89,7 +88,6 @@ DT_MACHINE_START(KZM9D_DT, "kzm9d") .init_early = emev2_add_early_devices, .nr_irqs = NR_IRQS_LEGACY, .init_irq = emev2_init_irq, - .handle_irq = gic_handle_irq, .init_machine = kzm9d_add_standard_devices, .init_late = shmobile_init_late, .timer = &shmobile_timer, diff --git a/arch/arm/mach-shmobile/board-kzm9g.c b/arch/arm/mach-shmobile/board-kzm9g.c index c02448d..d160758 100644 --- a/arch/arm/mach-shmobile/board-kzm9g.c +++ b/arch/arm/mach-shmobile/board-kzm9g.c @@ -792,7 +792,6 @@ DT_MACHINE_START(KZM9G_DT, "kzm9g") .init_early = sh73a0_add_early_devices, .nr_irqs = NR_IRQS_LEGACY, .init_irq = sh73a0_init_irq, - .handle_irq = gic_handle_irq, .init_machine = kzm_init, .init_late = shmobile_init_late, .timer = &shmobile_timer, diff --git a/arch/arm/mach-shmobile/board-marzen.c b/arch/arm/mach-shmobile/board-marzen.c index 449f928..fad8db1 100644 --- a/arch/arm/mach-shmobile/board-marzen.c +++ b/arch/arm/mach-shmobile/board-marzen.c @@ -44,7 +44,6 @@ #include #include #include -#include #include /* Fixed 3.3V regulator to be used by SDHI0 */ @@ -382,7 +381,6 @@ MACHINE_START(MARZEN, "marzen") .init_early = r8a7779_add_early_devices, .nr_irqs = NR_IRQS_LEGACY, .init_irq = r8a7779_init_irq, - .handle_irq = gic_handle_irq, .init_machine = marzen_init, .init_late = marzen_init_late, .timer = &shmobile_timer, diff --git a/arch/arm/mach-shmobile/platsmp.c b/arch/arm/mach-shmobile/platsmp.c index d393c52..1f958d7 100644 --- a/arch/arm/mach-shmobile/platsmp.c +++ b/arch/arm/mach-shmobile/platsmp.c @@ -12,7 +12,6 @@ */ #include #include -#include void __init shmobile_smp_init_cpus(unsigned int ncores) { diff --git a/arch/arm/mach-shmobile/setup-emev2.c b/arch/arm/mach-shmobile/setup-emev2.c index a47beeb..4a8cb69 100644 --- a/arch/arm/mach-shmobile/setup-emev2.c +++ b/arch/arm/mach-shmobile/setup-emev2.c @@ -465,7 +465,6 @@ DT_MACHINE_START(EMEV2_DT, "Generic Emma Mobile EV2 (Flattened Device Tree)") .init_early = emev2_init_delay, .nr_irqs = NR_IRQS_LEGACY, .init_irq = emev2_init_irq_dt, - .handle_irq = gic_handle_irq, .init_machine = emev2_add_standard_devices_dt, .timer = &shmobile_timer, .dt_compat = emev2_boards_compat_dt, -- cgit v1.1 From 0529e315bbda5d502c93df2cfafba9bb337fbdf4 Mon Sep 17 00:00:00 2001 From: Rob Herring Date: Mon, 5 Nov 2012 16:18:28 -0600 Subject: ARM: use common irqchip_init for GIC init Convert all GIC DT initialization over to use common irqchip_init function. Signed-off-by: Rob Herring Cc: Russell King Cc: Kukjin Kim Acked-by: Shawn Guo Cc: Sascha Hauer Cc: David Brown Cc: Daniel Walker Cc: Bryan Huntsman Cc: Tony Lindgren Cc: Paul Mundt Cc: Magnus Damm Cc: Dinh Nguyen Cc: Viresh Kumar Cc: Shiraz Hashim Cc: Stephen Warren Cc: Srinidhi Kasagar Cc: Linus Walleij --- arch/arm/mach-shmobile/setup-emev2.c | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) (limited to 'arch/arm/mach-shmobile') diff --git a/arch/arm/mach-shmobile/setup-emev2.c b/arch/arm/mach-shmobile/setup-emev2.c index 4a8cb69..5004034 100644 --- a/arch/arm/mach-shmobile/setup-emev2.c +++ b/arch/arm/mach-shmobile/setup-emev2.c @@ -20,13 +20,13 @@ #include #include #include +#include #include #include #include #include #include #include -#include #include #include #include @@ -445,26 +445,16 @@ void __init emev2_add_standard_devices_dt(void) emev2_auxdata_lookup, NULL); } -static const struct of_device_id emev2_dt_irq_match[] = { - { .compatible = "arm,cortex-a9-gic", .data = gic_of_init, }, - {}, -}; - static const char *emev2_boards_compat_dt[] __initdata = { "renesas,emev2", NULL, }; -void __init emev2_init_irq_dt(void) -{ - of_irq_init(emev2_dt_irq_match); -} - DT_MACHINE_START(EMEV2_DT, "Generic Emma Mobile EV2 (Flattened Device Tree)") .smp = smp_ops(emev2_smp_ops), .init_early = emev2_init_delay, .nr_irqs = NR_IRQS_LEGACY, - .init_irq = emev2_init_irq_dt, + .init_irq = irqchip_init, .init_machine = emev2_add_standard_devices_dt, .timer = &shmobile_timer, .dt_compat = emev2_boards_compat_dt, -- cgit v1.1 From 520f7bd73354f003a9a59937b28e4903d985c420 Mon Sep 17 00:00:00 2001 From: Rob Herring Date: Thu, 27 Dec 2012 13:10:24 -0600 Subject: irqchip: Move ARM gic.h to include/linux/irqchip/arm-gic.h Now that we have GIC moved to drivers/irqchip and all GIC DT init for platforms using irqchip_init, move gic.h and update the remaining includes. Signed-off-by: Rob Herring Cc: Thomas Gleixner Cc: Russell King Cc: Anton Vorontsov Cc: Kukjin Kim Cc: Sascha Hauer Cc: David Brown Cc: Daniel Walker Cc: Bryan Huntsman Cc: Tony Lindgren Cc: Paul Mundt Cc: Magnus Damm Cc: Viresh Kumar Cc: Shiraz Hashim Cc: Stephen Warren Cc: Srinidhi Kasagar Cc: Linus Walleij Cc: Samuel Ortiz --- arch/arm/mach-shmobile/board-ag5evm.c | 2 +- arch/arm/mach-shmobile/board-kota2.c | 2 +- arch/arm/mach-shmobile/board-kzm9g.c | 2 +- arch/arm/mach-shmobile/intc-r8a7779.c | 2 +- arch/arm/mach-shmobile/intc-sh73a0.c | 2 +- arch/arm/mach-shmobile/setup-emev2.c | 2 +- arch/arm/mach-shmobile/smp-emev2.c | 2 +- arch/arm/mach-shmobile/smp-r8a7779.c | 2 +- arch/arm/mach-shmobile/smp-sh73a0.c | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) (limited to 'arch/arm/mach-shmobile') diff --git a/arch/arm/mach-shmobile/board-ag5evm.c b/arch/arm/mach-shmobile/board-ag5evm.c index 81b31f5..fd28358 100644 --- a/arch/arm/mach-shmobile/board-ag5evm.c +++ b/arch/arm/mach-shmobile/board-ag5evm.c @@ -40,6 +40,7 @@ #include #include #include +#include #include