[GIT PULL] irqchip updates for 5.9

From: Marc Zyngier
Date: Mon Aug 03 2020 - 06:33:29 EST


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(-)