[irqchip: irq/irqchip-next] MIPS: BMIPS: Remove use of irq_cpu_offline

From: irqchip-bot for Florian Fainelli
Date: Wed Oct 20 2021 - 17:12:41 EST


The following commit has been merged into the irq/irqchip-next branch of irqchip:

Commit-ID: bf8bde41d296849fd5f9db8becd71ad4e84bc521
Gitweb: https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms/bf8bde41d296849fd5f9db8becd71ad4e84bc521
Author: Florian Fainelli <f.fainelli@xxxxxxxxx>
AuthorDate: Wed, 20 Oct 2021 11:48:47 -07:00
Committer: Marc Zyngier <maz@xxxxxxxxxx>
CommitterDate: Wed, 20 Oct 2021 20:06:32 +01:00

MIPS: BMIPS: Remove use of irq_cpu_offline

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@xxxxxxxxxxxxx>
Acked-by: Thomas Bogendoerfer <tsbogend@xxxxxxxxxxxxxxxx>
Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
Signed-off-by: Marc Zyngier <maz@xxxxxxxxxx>
Link: https://lore.kernel.org/r/20211020184859.2705451-2-f.fainelli@xxxxxxxxx
---
arch/mips/Kconfig | 1 +
arch/mips/kernel/smp-bmips.c | 3 ++-
2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 771ca53..2c03b27 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -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.

diff --git a/arch/mips/kernel/smp-bmips.c b/arch/mips/kernel/smp-bmips.c
index b6ef5f7..f5d7bfa 100644
--- a/arch/mips/kernel/smp-bmips.c
+++ b/arch/mips/kernel/smp-bmips.c
@@ -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();