diff options
author | Mark Rutland <mark.rutland@arm.com> | 2021-10-19 12:26:41 +0100 |
---|---|---|
committer | Mark Rutland <mark.rutland@arm.com> | 2021-10-25 10:05:28 +0100 |
commit | e54957fa3b3b374c63c66f60a8236dd95cf5e2be (patch) | |
tree | 9903a5464e10b8b36bb4ea2a5c2da25f3cb77a5d /arch/arc/kernel | |
parent | a1b09501971435ef213251891753afb0d7f3d27a (diff) | |
download | linux-e54957fa3b3b374c63c66f60a8236dd95cf5e2be.tar.bz2 |
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@arm.com>
Reviewed-by: Marc Zyngier <maz@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vineet Gupta <vgupta@kernel.org>
Diffstat (limited to 'arch/arc/kernel')
-rw-r--r-- | arch/arc/kernel/irq.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/arch/arc/kernel/irq.c b/arch/arc/kernel/irq.c index ef909dd4b40c..dd09b58ff82d 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(); } |