Messages in this thread Patch in this message | | | Date | Tue, 26 Oct 2021 10:16:07 -0000 | From | "irqchip-bot for Mark Rutland" <> | Subject | [irqchip: irq/irqchip-next] irq: simplify handle_domain_{irq,nmi}() |
| |
The following commit has been merged into the irq/irqchip-next branch of irqchip:
Commit-ID: d21e64027ce4d4df0c46d527b96f12d3811cd08d Gitweb: https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms/d21e64027ce4d4df0c46d527b96f12d3811cd08d Author: Mark Rutland <mark.rutland@arm.com> AuthorDate: Tue, 19 Oct 2021 10:40:45 +01:00 Committer: Mark Rutland <mark.rutland@arm.com> CommitterDate: Mon, 25 Oct 2021 10:05:09 +01:00
irq: simplify handle_domain_{irq,nmi}()
There's no need for handle_domain_{irq,nmi}() to open-code the NULL check performed by handle_irq_desc(), nor the resolution of the desc performed by generic_handle_domain_irq().
Use generic_handle_domain_irq() directly, as this is functioanlly equivalent and clearer. At the same time, delete the stale comments, which are no longer helpful.
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> --- kernel/irq/irqdesc.c | 24 ++++-------------------- 1 file changed, 4 insertions(+), 20 deletions(-)
diff --git a/kernel/irq/irqdesc.c b/kernel/irq/irqdesc.c index 4e3c29b..b07d0e1 100644 --- a/kernel/irq/irqdesc.c +++ b/kernel/irq/irqdesc.c @@ -690,17 +690,11 @@ int handle_domain_irq(struct irq_domain *domain, unsigned int hwirq, struct pt_regs *regs) { struct pt_regs *old_regs = set_irq_regs(regs); - struct irq_desc *desc; - int ret = 0; + int ret; irq_enter(); - /* The irqdomain code provides boundary checks */ - desc = irq_resolve_mapping(domain, hwirq); - if (likely(desc)) - handle_irq_desc(desc); - else - ret = -EINVAL; + ret = generic_handle_domain_irq(domain, hwirq); irq_exit(); set_irq_regs(old_regs); @@ -721,24 +715,14 @@ int handle_domain_nmi(struct irq_domain *domain, unsigned int hwirq, struct pt_regs *regs) { struct pt_regs *old_regs = set_irq_regs(regs); - struct irq_desc *desc; - int ret = 0; + int ret; /* * NMI context needs to be setup earlier in order to deal with tracing. */ WARN_ON(!in_nmi()); - desc = irq_resolve_mapping(domain, hwirq); - - /* - * ack_bad_irq is not NMI-safe, just report - * an invalid interrupt. - */ - if (likely(desc)) - handle_irq_desc(desc); - else - ret = -EINVAL; + ret = generic_handle_domain_irq(domain, hwirq); set_irq_regs(old_regs); return ret;
| |