From d1f6f28f68507e3ae67203de3e7ab7e5b9bf0082 Mon Sep 17 00:00:00 2001 From: Marc Zyngier Date: Tue, 26 Aug 2014 11:03:19 +0100 Subject: openrisc: Convert handle_IRQ to use __handle_domain_irq In order to limit code duplication, convert the architecture specific handle_IRQ to use the generic __handle_domain_irq function. Signed-off-by: Marc Zyngier Acked-by: Stefan Kristiansson Link: https://lkml.kernel.org/r/1409047421-27649-5-git-send-email-marc.zyngier@arm.com Signed-off-by: Jason Cooper --- arch/openrisc/Kconfig | 1 + arch/openrisc/kernel/irq.c | 9 +-------- 2 files changed, 2 insertions(+), 8 deletions(-) (limited to 'arch/openrisc') diff --git a/arch/openrisc/Kconfig b/arch/openrisc/Kconfig index 88e83368bbf5..e5a693b16da2 100644 --- a/arch/openrisc/Kconfig +++ b/arch/openrisc/Kconfig @@ -8,6 +8,7 @@ config OPENRISC select OF select OF_EARLY_FLATTREE select IRQ_DOMAIN + select HANDLE_DOMAIN_IRQ select HAVE_MEMBLOCK select ARCH_REQUIRE_GPIOLIB select HAVE_ARCH_TRACEHOOK diff --git a/arch/openrisc/kernel/irq.c b/arch/openrisc/kernel/irq.c index 967eb1430203..e9aaf280b7d9 100644 --- a/arch/openrisc/kernel/irq.c +++ b/arch/openrisc/kernel/irq.c @@ -50,14 +50,7 @@ void __init set_handle_irq(void (*handle_irq)(struct pt_regs *)) void handle_IRQ(unsigned int irq, struct pt_regs *regs) { - struct pt_regs *old_regs = set_irq_regs(regs); - - irq_enter(); - - generic_handle_irq(irq); - - irq_exit(); - set_irq_regs(old_regs); + __handle_domain_irq(NULL, irq, false, regs); } void __irq_entry do_IRQ(struct pt_regs *regs) -- cgit v1.2.3 From 087fe000f086c933f831044cbd0e69b4e140f38c Mon Sep 17 00:00:00 2001 From: Marc Zyngier Date: Tue, 26 Aug 2014 11:03:41 +0100 Subject: openrisc: Get rid of handle_IRQ The openrisc irqchip driver has been converted to handle_domain_irq, making it possible to remove the handle_IRQ stub entierely. Signed-off-by: Marc Zyngier Acked-by: Stefan Kristiansson Link: https://lkml.kernel.org/r/1409047421-27649-27-git-send-email-marc.zyngier@arm.com Signed-off-by: Jason Cooper --- arch/openrisc/include/asm/irq.h | 1 - arch/openrisc/kernel/irq.c | 5 ----- 2 files changed, 6 deletions(-) (limited to 'arch/openrisc') diff --git a/arch/openrisc/include/asm/irq.h b/arch/openrisc/include/asm/irq.h index b84634cc95eb..d9eee0a2b7b4 100644 --- a/arch/openrisc/include/asm/irq.h +++ b/arch/openrisc/include/asm/irq.h @@ -24,7 +24,6 @@ #define NO_IRQ (-1) -void handle_IRQ(unsigned int, struct pt_regs *); extern void set_handle_irq(void (*handle_irq)(struct pt_regs *)); #endif /* __ASM_OPENRISC_IRQ_H__ */ diff --git a/arch/openrisc/kernel/irq.c b/arch/openrisc/kernel/irq.c index e9aaf280b7d9..35e478a93116 100644 --- a/arch/openrisc/kernel/irq.c +++ b/arch/openrisc/kernel/irq.c @@ -48,11 +48,6 @@ void __init set_handle_irq(void (*handle_irq)(struct pt_regs *)) handle_arch_irq = handle_irq; } -void handle_IRQ(unsigned int irq, struct pt_regs *regs) -{ - __handle_domain_irq(NULL, irq, false, regs); -} - void __irq_entry do_IRQ(struct pt_regs *regs) { handle_arch_irq(regs); -- cgit v1.2.3