arm64: 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 <marc.zyngier@arm.com> Acked-by: Catalin Marinas <catalin.marinas@arm.com> Link: https://lkml.kernel.org/r/1409047421-27649-3-git-send-email-marc.zyngier@arm.com Signed-off-by: Jason Cooper <jason@lakedaemon.net>
This commit is contained in:
Родитель
76ba59f836
Коммит
a1ddc74a23
|
@ -30,6 +30,7 @@ config ARM64
|
|||
select GENERIC_STRNCPY_FROM_USER
|
||||
select GENERIC_STRNLEN_USER
|
||||
select GENERIC_TIME_VSYSCALL
|
||||
select HANDLE_DOMAIN_IRQ
|
||||
select HARDIRQS_SW_RESEND
|
||||
select HAVE_ARCH_AUDITSYSCALL
|
||||
select HAVE_ARCH_JUMP_LABEL
|
||||
|
|
|
@ -48,23 +48,7 @@ int arch_show_interrupts(struct seq_file *p, int prec)
|
|||
*/
|
||||
void handle_IRQ(unsigned int irq, struct pt_regs *regs)
|
||||
{
|
||||
struct pt_regs *old_regs = set_irq_regs(regs);
|
||||
|
||||
irq_enter();
|
||||
|
||||
/*
|
||||
* Some hardware gives randomly wrong interrupts. Rather
|
||||
* than crashing, do something sensible.
|
||||
*/
|
||||
if (unlikely(irq >= nr_irqs)) {
|
||||
pr_warn_ratelimited("Bad IRQ%u\n", irq);
|
||||
ack_bad_irq(irq);
|
||||
} else {
|
||||
generic_handle_irq(irq);
|
||||
}
|
||||
|
||||
irq_exit();
|
||||
set_irq_regs(old_regs);
|
||||
__handle_domain_irq(NULL, irq, false, regs);
|
||||
}
|
||||
|
||||
void __init set_handle_irq(void (*handle_irq)(struct pt_regs *))
|
||||
|
|
Загрузка…
Ссылка в новой задаче