-
- Downloads
irq: remove handle_domain_{irq,nmi}()
Now that entry code handles IRQ entry (including setting the IRQ regs) before calling irqchip code, irqchip code can safely call generic_handle_domain_irq(), and there's no functional reason for it to call handle_domain_irq(). Let's cement this split of responsibility and remove handle_domain_irq() entirely, updating irqchip drivers to call generic_handle_domain_irq(). For consistency, handle_domain_nmi() is similarly removed and replaced with a generic_handle_domain_nmi() function which also does not perform any entry logic. Previously handle_domain_{irq,nmi}() had a WARN_ON() which would fire when they were called in an inappropriate context. So that we can identify similar issues going forward, similar WARN_ON_ONCE() logic is added to the generic_handle_*() functions, and comments are updated for clarity and consistency. Signed-off-by:Mark Rutland <mark.rutland@arm.com> Reviewed-by:
Marc Zyngier <maz@kernel.org> Cc: Thomas Gleixner <tglx@linutronix.de>
Showing
- Documentation/core-api/irq/irq-domain.rst 0 additions, 3 deletionsDocumentation/core-api/irq/irq-domain.rst
- arch/arm/Kconfig 0 additions, 1 deletionarch/arm/Kconfig
- arch/arm/mach-imx/avic.c 1 addition, 1 deletionarch/arm/mach-imx/avic.c
- arch/arm/mach-imx/tzic.c 1 addition, 1 deletionarch/arm/mach-imx/tzic.c
- arch/arm/mach-omap1/irq.c 1 addition, 1 deletionarch/arm/mach-omap1/irq.c
- arch/arm/mach-s3c/irq-s3c24xx.c 1 addition, 1 deletionarch/arm/mach-s3c/irq-s3c24xx.c
- arch/arm64/Kconfig 0 additions, 1 deletionarch/arm64/Kconfig
- arch/csky/Kconfig 0 additions, 1 deletionarch/csky/Kconfig
- arch/openrisc/Kconfig 0 additions, 1 deletionarch/openrisc/Kconfig
- arch/riscv/Kconfig 0 additions, 1 deletionarch/riscv/Kconfig
- drivers/irqchip/irq-apple-aic.c 10 additions, 10 deletionsdrivers/irqchip/irq-apple-aic.c
- drivers/irqchip/irq-armada-370-xp.c 4 additions, 9 deletionsdrivers/irqchip/irq-armada-370-xp.c
- drivers/irqchip/irq-aspeed-vic.c 1 addition, 1 deletiondrivers/irqchip/irq-aspeed-vic.c
- drivers/irqchip/irq-atmel-aic.c 1 addition, 1 deletiondrivers/irqchip/irq-atmel-aic.c
- drivers/irqchip/irq-atmel-aic5.c 1 addition, 1 deletiondrivers/irqchip/irq-atmel-aic5.c
- drivers/irqchip/irq-bcm2835.c 1 addition, 1 deletiondrivers/irqchip/irq-bcm2835.c
- drivers/irqchip/irq-bcm2836.c 1 addition, 1 deletiondrivers/irqchip/irq-bcm2836.c
- drivers/irqchip/irq-clps711x.c 4 additions, 4 deletionsdrivers/irqchip/irq-clps711x.c
- drivers/irqchip/irq-csky-apb-intc.c 1 addition, 1 deletiondrivers/irqchip/irq-csky-apb-intc.c
- drivers/irqchip/irq-csky-mpintc.c 2 additions, 2 deletionsdrivers/irqchip/irq-csky-mpintc.c
Loading
Please register or sign in to comment