[irqchip: irq/irqchip-next] irq: arc: avoid CONFIG_HANDLE_DOMAIN_IRQ

From: irqchip-bot for Mark Rutland
Date: Tue Oct 26 2021 - 06:16:31 EST


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

Commit-ID: e54957fa3b3b374c63c66f60a8236dd95cf5e2be
Gitweb: https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms/e54957fa3b3b374c63c66f60a8236dd95cf5e2be
Author: Mark Rutland <mark.rutland@xxxxxxx>
AuthorDate: Tue, 19 Oct 2021 12:26:41 +01:00
Committer: Mark Rutland <mark.rutland@xxxxxxx>
CommitterDate: Mon, 25 Oct 2021 10:05:28 +01:00

irq: arc: avoid CONFIG_HANDLE_DOMAIN_IRQ

In preparation for removing HANDLE_DOMAIN_IRQ, have arch/arc perform all
the necessary IRQ entry accounting in its entry code.

There should be no functional change as a result of this patch.

Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx>
Reviewed-by: Marc Zyngier <maz@xxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Vineet Gupta <vgupta@xxxxxxxxxx>
---
arch/arc/Kconfig | 1 -
arch/arc/kernel/irq.c | 10 +++++++++-
2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig
index 3a5a80f..b4ae605 100644
--- a/arch/arc/Kconfig
+++ b/arch/arc/Kconfig
@@ -40,7 +40,6 @@ config ARC
select HAVE_KRETPROBES
select HAVE_MOD_ARCH_SPECIFIC
select HAVE_PERF_EVENTS
- select HANDLE_DOMAIN_IRQ
select IRQ_DOMAIN
select MODULES_USE_ELF_RELA
select OF
diff --git a/arch/arc/kernel/irq.c b/arch/arc/kernel/irq.c
index ef909dd..dd09b58 100644
--- a/arch/arc/kernel/irq.c
+++ b/arch/arc/kernel/irq.c
@@ -6,6 +6,8 @@
#include <linux/interrupt.h>
#include <linux/irqchip.h>
#include <asm/mach_desc.h>
+
+#include <asm/irq_regs.h>
#include <asm/smp.h>

/*
@@ -39,5 +41,11 @@ void __init init_IRQ(void)
*/
void arch_do_IRQ(unsigned int hwirq, struct pt_regs *regs)
{
- handle_domain_irq(NULL, hwirq, regs);
+ struct pt_regs *old_regs;
+
+ irq_enter();
+ old_regs = set_irq_regs(regs);
+ generic_handle_domain_irq(NULL, hwirq);
+ set_irq_regs(old_regs);
+ irq_exit();
}