[GIT PULL] irqchip fixes for 5.9, take #2

From: Marc Zyngier
Date: Tue Aug 25 2020 - 06:46:46 EST


Hi Thomas,

This is a combo pull request for the first two two batches of fixes
for 5.9. The most important part is that the whole "let's build
irqchips as platform devices" series has broken users' platforms as
the end-points drivers are not equipped to deal with the semi-random
probe ordering. There is work in progress to fix it, but in the
meantime let's go back to something that doesn't set the world on
fire. I have kept the helpers around to serve as a base for that
future work, but the callers are now back to their original state.

We also have two interesting fixes: one avoiding losing interrupts
when there is more that a single one pending with STM32 exti, and a
wakup interrupt issue with the Ingenic driver.

The rest of it is what I was hinting at when I sent the original 5.9
pull request, with a bunch of TI updates that deal with the change of
their firmware interface. The handling of the dependencies was bad
enough that I couldn't send it before -rc1 was out...

Please pull,

M.

The following changes since commit 9123e3a74ec7b934a4a099e98af6a61c2f80bbf5:

Linux 5.9-rc1 (2020-08-16 13:04:57 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git tags/irqchip-fixes-5.9-2

for you to fetch changes up to 821fc9e261f3af235752f46e59084467cfd440c4:

irqchip/ingenic: Leave parent IRQ unmasked on suspend (2020-08-25 10:59:29 +0100)

----------------------------------------------------------------
irqchip fixes for Linux 5.9, take #2

- Revert the wholesale conversion to platform drivers of the
pdc, sysirq and cirq drivers, as it breaks a number of
platforms even when the driver is built-in (probe ordering
bites you).

- Prevent interrupt from being lost with the STM32 exti driver

- Fix wake-up interrupts for the MIPS Ingenir driver

irqchip fixes for Linux 5.9, take #1

- Fix an embarassing typo in the new module helpers, leading
to the probe failing most of the time

- The promised TI firmware rework that couldn't make it into
the merge window due to a very badly managed set of dependency

----------------------------------------------------------------
Lokesh Vutla (13):
firmware: ti_sci: Drop the device id to resource type translation
firmware: ti_sci: Drop unused structure ti_sci_rm_type_map
firmware: ti_sci: Add support for getting resource with subtype
dt-bindings: irqchip: ti, sci-intr: Update bindings to drop the usage of gic as parent
dt-bindings: irqchip: Convert ti, sci-intr bindings to yaml
irqchip/ti-sci-intr: Add support for INTR being a parent to INTR
dt-bindings: irqchip: ti, sci-inta: Update docs to support different parent.
dt-bindings: irqchip: Convert ti, sci-inta bindings to yaml
irqchip/ti-sci-inta: Do not store TISCI device id in platform device id field
irqchip/ti-sci-inta: Add support for INTA directly connecting to GIC
arm64: dts: k3-j721e: ti-sci-inta/intr: Update to latest bindings
arm64: dts: k3-am65: ti-sci-inta/intr: Update to latest bindings
arm64: dts: k3-am65: Update the RM resource types

Marc Zyngier (2):
irqchip: Fix probing deferal when using IRQCHIP_PLATFORM_DRIVER helpers
irqchip: Revert modular support for drivers using IRQCHIP_PLATFORM_DRIVER helperse

Paul Cercueil (1):
irqchip/ingenic: Leave parent IRQ unmasked on suspend

qiuguorui1 (1):
irqchip/stm32-exti: Avoid losing interrupts due to clearing pending bits by mistake

.../bindings/interrupt-controller/ti,sci-inta.txt | 66 ---------
.../bindings/interrupt-controller/ti,sci-inta.yaml | 98 +++++++++++++
.../bindings/interrupt-controller/ti,sci-intr.txt | 82 -----------
.../bindings/interrupt-controller/ti,sci-intr.yaml | 102 ++++++++++++++
MAINTAINERS | 4 +-
arch/arm64/boot/dts/ti/k3-am65-main.dtsi | 36 +++--
arch/arm64/boot/dts/ti/k3-am65-mcu.dtsi | 12 +-
arch/arm64/boot/dts/ti/k3-am65-wakeup.dtsi | 8 +-
arch/arm64/boot/dts/ti/k3-am654-base-board.dts | 4 +-
.../boot/dts/ti/k3-j721e-common-proc-board.dts | 10 +-
arch/arm64/boot/dts/ti/k3-j721e-main.dtsi | 43 +++---
arch/arm64/boot/dts/ti/k3-j721e-mcu-wakeup.dtsi | 12 +-
drivers/firmware/ti_sci.c | 155 +++++++++------------
drivers/irqchip/Kconfig | 2 +-
drivers/irqchip/irq-ingenic.c | 2 +-
drivers/irqchip/irq-mtk-cirq.c | 4 +-
drivers/irqchip/irq-mtk-sysirq.c | 4 +-
drivers/irqchip/irq-stm32-exti.c | 14 +-
drivers/irqchip/irq-ti-sci-inta.c | 95 ++++++++++---
drivers/irqchip/irq-ti-sci-intr.c | 152 ++++++++++++--------
drivers/irqchip/irqchip.c | 2 +-
drivers/irqchip/qcom-pdc.c | 8 +-
include/linux/soc/ti/ti_sci_protocol.h | 13 ++
23 files changed, 534 insertions(+), 394 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/interrupt-controller/ti,sci-inta.txt
create mode 100644 Documentation/devicetree/bindings/interrupt-controller/ti,sci-inta.yaml
delete mode 100644 Documentation/devicetree/bindings/interrupt-controller/ti,sci-intr.txt
create mode 100644 Documentation/devicetree/bindings/interrupt-controller/ti,sci-intr.yaml