MIPS: BMIPS: Remove use of irq_cpu_offline
authorFlorian Fainelli <f.fainelli@gmail.com>
Wed, 20 Oct 2021 18:48:47 +0000 (11:48 -0700)
committerMarc Zyngier <maz@kernel.org>
Wed, 20 Oct 2021 19:06:32 +0000 (20:06 +0100)
irq_cpu_offline() is only used by MIPS and we should instead use
irq_migrate_all_off_this_cpu(). This will be helpful in order to remove
drivers/irqchip/irq-bcm7038-l1.c irq_cpu_offline callback which would
have got in the way of making this driver modular.

Suggested-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20211020184859.2705451-2-f.fainelli@gmail.com
arch/mips/Kconfig
arch/mips/kernel/smp-bmips.c

index 771ca53..2c03b27 100644 (file)
@@ -1782,6 +1782,7 @@ config CPU_BMIPS
        select CPU_HAS_PREFETCH
        select CPU_SUPPORTS_CPUFREQ
        select MIPS_EXTERNAL_TIMER
+       select GENERIC_IRQ_MIGRATION if HOTPLUG_CPU
        help
          Support for BMIPS32/3300/4350/4380 and BMIPS5000 processors.
 
index b6ef5f7..f5d7bfa 100644 (file)
@@ -26,6 +26,7 @@
 #include <linux/bug.h>
 #include <linux/kernel.h>
 #include <linux/kexec.h>
+#include <linux/irq.h>
 
 #include <asm/time.h>
 #include <asm/processor.h>
@@ -373,7 +374,7 @@ static int bmips_cpu_disable(void)
 
        set_cpu_online(cpu, false);
        calculate_cpu_foreign_map();
-       irq_cpu_offline();
+       irq_migrate_all_off_this_cpu();
        clear_c0_status(IE_IRQ5);
 
        local_flush_tlb_all();