aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorMarc Zyngier <maz@kernel.org>2021-10-28 13:34:57 +0100
committerMarc Zyngier <maz@kernel.org>2021-10-28 13:34:57 +0100
commit5f5739d5f736614d555e8a2ec36dc4518dfa820c (patch)
treee8879ee899c42d7bed579cdecf97a8b389a00628 /kernel
parentMerge branch irq/remove-handle-domain-irq-20211026 into irq/irqchip-next (diff)
parentgenirq: Hide irq_cpu_{on,off}line() behind a deprecated option (diff)
downloadlinux-dev-5f5739d5f736614d555e8a2ec36dc4518dfa820c.tar.xz
linux-dev-5f5739d5f736614d555e8a2ec36dc4518dfa820c.zip
Merge branch irq/irq_cpu_offline into irq/irqchip-next
* irq/irq_cpu_offline: : . : Make irq_cpu_{on,off}line() deprecated kernel API, and only : enable it for some obscure Cavium platform after having : moved all the other users away from it. : : Next step, drop the platform itself. : . genirq: Hide irq_cpu_{on,off}line() behind a deprecated option irqchip/mips-gic: Get rid of the reliance on irq_cpu_online() MIPS: loongson64: Drop call to irq_cpu_offline() Signed-off-by: Marc Zyngier <maz@kernel.org>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/irq/Kconfig7
-rw-r--r--kernel/irq/chip.c2
2 files changed, 9 insertions, 0 deletions
diff --git a/kernel/irq/Kconfig b/kernel/irq/Kconfig
index 1b41078222f3..10929eda9825 100644
--- a/kernel/irq/Kconfig
+++ b/kernel/irq/Kconfig
@@ -141,3 +141,10 @@ config GENERIC_IRQ_MULTI_HANDLER
bool
help
Allow to specify the low level IRQ handler at run time.
+
+# Cavium Octeon is the last system to use this deprecated option
+# Do not even think of enabling this on any new platform
+config DEPRECATED_IRQ_CPU_ONOFFLINE
+ bool
+ depends on CAVIUM_OCTEON_SOC
+ default CAVIUM_OCTEON_SOC
diff --git a/kernel/irq/chip.c b/kernel/irq/chip.c
index a98bcfc4be7b..f895265d7548 100644
--- a/kernel/irq/chip.c
+++ b/kernel/irq/chip.c
@@ -1122,6 +1122,7 @@ void irq_modify_status(unsigned int irq, unsigned long clr, unsigned long set)
}
EXPORT_SYMBOL_GPL(irq_modify_status);
+#ifdef CONFIG_DEPRECATED_IRQ_CPU_ONOFFLINE
/**
* irq_cpu_online - Invoke all irq_cpu_online functions.
*
@@ -1181,6 +1182,7 @@ void irq_cpu_offline(void)
raw_spin_unlock_irqrestore(&desc->lock, flags);
}
}
+#endif
#ifdef CONFIG_IRQ_DOMAIN_HIERARCHY