Hi Thomas, Here's the irqchip updates for 5.9. Although it is rather large this time around, it is mostly a collection of random cleanups and minor improvements. The most notable additions is a set of helpers for platform irqchip drivers to be built as modules.
I may have a second pull request later if the TI folks can sort their dependency nightmare, but don't hold your breath. Please pull, M. The following changes since commit 48778464bb7d346b47157d21ffde2af6b2d39110: Linux 5.8-rc2 (2020-06-21 15:45:29 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git tags/irqchip-5.9 for you to fetch changes up to ac62460c24126eb2442e3653a266ebbf05b004d8: irqchip/loongson-pch-pic: Fix the misused irq flow handler (2020-07-30 12:58:17 +0100) ---------------------------------------------------------------- irqchip updates for Linux 5.9 - Add infrastructure to allow DT irqchip platform drivers to be built as modules - Allow qcom-pdc, mtk-cirq and mtk-sysirq to be built as module - Fix ACPI probing to avoid abusing function pointer casting - Allow bcm7120-l2 and brcmstb-l2 to be used as wake-up sources - Teach NXP's IMX INTMUX some power management - Allow stm32-exti to be used as a hierarchical irqchip - Let stm32-exti use the hw spinlock API in its full glory - A couple of GICv4.1 fixes - Tons of cleanups (mtk-sysirq, aic5, bcm7038-l1, imx-intmux, brcmstb-l2, ativic32, ti-sci-inta, lonsoon, MIPS GIC, GICv3) ---------------------------------------------------------------- Alexandre Torgue (1): irqchip/stm32-exti: Map direct event to irq parent Bartosz Golaszewski (1): irqchip/irq-mtk-sysirq: Replace spinlock with raw_spinlock Claudiu Beznea (1): irqchip/atmel-aic5: Add support for sam9x60 rtt fixup Fabien Dessenne (1): irqchip/stm32-exti: Use the hwspin_lock_timeout_in_atomic() API Florian Fainelli (5): dt-bindings: interrupt-controller: Document Broadcom STB HIF L2 dt-bindings: interrupt-controller: Document UPG auxiliary L2 irqchip/brcmstb-l2: Match UPG_AUX_AON_INTR2 compatible irqchip/irq-bcm7038-l1: Allow building on ARM 32-bit irqchip/irq-bcm7038-l1: Guard uses of cpu_logical_map Gustavo A. R. Silva (1): irqchip/imx-intmux: Use struct_size() helper in devm_kzalloc() Huacai Chen (4): dt-bindings: interrupt-controller: Update Loongson HTVEC description irqchip/loongson-liointc: Fix misuse of gc->mask_cache irqchip/loongson-htvec: Support 8 groups of HT vectors irqchip/loongson-pch-pic: Fix the misused irq flow handler Joakim Zhang (1): irqchip/imx-intmux: Implement intmux runtime power management John Stultz (3): irqdomain: Export irq_domain_update_bus_token genirq: Export irq_chip_retrigger_hierarchy and irq_chip_set_vcpu_affinity_parent irqchip/qcom-pdc: Allow QCOM_PDC to be loadable as a permanent module Justin Chen (2): irqchip/bcm7120-l2: Set controller as wake-up source irqchip/brcmstb-l2: Set controller as wake-up source Kamal Dasu (1): irqchip/brcmstb-l2: Match HIF_SPI_INTR2 compatible Linus Walleij (2): irqchip/vic: Drop cascaded intialization call irqchip/vic: Cut down the external API Marc Zyngier (1): irqchip: Fix IRQCHIP_PLATFORM_DRIVER_* compilation by including module.h Masahiro Yamada (1): irqchip/ativic32: Constify irq_domain_ops Oscar Carter (3): drivers/acpi: Add new macro ACPI_DECLARE_SUBTABLE_PROBE_ENTRY drivers/irqchip: Use new macro ACPI_DECLARE_SUBTABLE_PROBE_ENTRY drivers/acpi: Remove function cast Randy Dunlap (1): irqchip: irq-bcm2836.h: drop a duplicated word Saravana Kannan (4): irqchip: Add IRQCHIP_PLATFORM_DRIVER_BEGIN/END and IRQCHIP_MATCH helper macros irqchip/qcom-pdc: Switch to using IRQCHIP_PLATFORM_DRIVER helper macros irqchip/mtk-sysirq: Convert to a platform driver irqchip/mtk-cirq: Convert to a platform driver Tiezhu Yang (10): irqchip/ti-sci-inta: Remove dead code in ti_sci_inta_set_type() irqchip/ti-sci-inta: Fix return value about devm_ioremap_resource() irqchip/ti-sci-inta: Fix typo about MODULE_AUTHOR irqchip/loongson-htpic: Remove redundant kfree operation irqchip/loongson-htpic: Remove unneeded select of I8259 irqchip/loongson-htvec: Fix potential resource leak irqchip/loongson-htvec: Check return value of irq_domain_translate_onecell() irqchip/loongson-pch-pic: Check return value of irq_domain_translate_twocell() irqchip/loongson-pch-msi: Remove unneeded variable irqchip/loongson-liointc: Fix potential dead lock Wei Yongjun (2): irqchip/mips-gic: Make local symbols static irqchip/imx-intmux: Fix irqdata regs save in imx_intmux_runtime_suspend() Zenghui Yu (4): genirq/irqdomain: Remove redundant NULL pointer check on fwnode irqchip/gic-v3: Remove unused register definition irqchip/gic-v4.1: Ensure accessing the correct RD when writing INVALLR irqchip/gic-v4.1: Use GFP_ATOMIC flag in allocate_vpe_l1_table() .../bindings/interrupt-controller/brcm,l2-intc.txt | 5 +- .../interrupt-controller/loongson,htvec.yaml | 4 +- drivers/irqchip/Kconfig | 3 +- drivers/irqchip/irq-ativic32.c | 2 +- drivers/irqchip/irq-atmel-aic5.c | 8 +- drivers/irqchip/irq-bcm7038-l1.c | 11 ++ drivers/irqchip/irq-bcm7120-l2.c | 8 +- drivers/irqchip/irq-brcmstb-l2.c | 5 + drivers/irqchip/irq-gic-v3-its.c | 14 +- drivers/irqchip/irq-gic-v3.c | 2 +- drivers/irqchip/irq-gic.c | 2 +- drivers/irqchip/irq-imx-intmux.c | 70 ++++++++- drivers/irqchip/irq-loongson-htpic.c | 6 +- drivers/irqchip/irq-loongson-htvec.c | 32 ++-- drivers/irqchip/irq-loongson-liointc.c | 11 +- drivers/irqchip/irq-loongson-pch-msi.c | 7 +- drivers/irqchip/irq-loongson-pch-pic.c | 30 ++-- drivers/irqchip/irq-mips-gic.c | 10 +- drivers/irqchip/irq-mtk-cirq.c | 4 +- drivers/irqchip/irq-mtk-sysirq.c | 12 +- drivers/irqchip/irq-stm32-exti.c | 166 +++++++++++---------- drivers/irqchip/irq-ti-sci-inta.c | 6 +- drivers/irqchip/irq-vic.c | 26 +--- drivers/irqchip/irqchip.c | 29 ++++ drivers/irqchip/qcom-pdc.c | 8 +- include/linux/acpi.h | 23 ++- include/linux/irqchip.h | 29 +++- include/linux/irqchip/arm-gic-v3.h | 4 - include/linux/irqchip/arm-vic.h | 11 -- include/linux/irqchip/irq-bcm2836.h | 2 +- kernel/irq/chip.c | 3 +- kernel/irq/irqdomain.c | 3 +- 32 files changed, 346 insertions(+), 210 deletions(-)