[PATCH 0/6] irqchip: Hybrid probing

From: Marc Zyngier
Date: Sat Sep 12 2020 - 08:52:31 EST


A recent attempt at converting a couple of interrupt controllers from
early probing to standard platform drivers have badly failed, as it
became evident that although an interrupt controller can easily probe
late, device drivers for the endpoints connected to it are rarely
equipped to deal with probe deferral. Changes were swiftly reverted.

However, there is some value in *optionally* enabling this, if only
for development purposes, as there is otherwise a "chicken and egg"
problem, and a few people (cc'd) are working on a potential solution.

This short series enables the infrastructure for modular building
whilst retaining the usual early probing for monolithic build, and
introduces it to the three drivers that were previously made to probe
as platform drivers.

As I don't have any of the HW, this series is fully untested and I'd
welcome some feedback on it.

Thanks,

M.

Marc Zyngier (6):
of: Add basic infrastructure to create early probe arrays
irqchip: Make IRQCHIP_MATCH() type safe
irqchip: Introduce IRQCHIP_HYBRID_DRIVER_{BEGIN,END} macros
irqchip/mtk-cirq: Allow modular build
irqchip/mtk-sysirq: Allow modular build
irqchip/qcom-pdc: Allow modular build

drivers/irqchip/irq-mtk-cirq.c | 4 +++-
drivers/irqchip/irq-mtk-sysirq.c | 4 +++-
drivers/irqchip/qcom-pdc.c | 4 +++-
include/linux/irqchip.h | 14 +++++++++++++-
include/linux/of.h | 15 +++++++++++++++
5 files changed, 37 insertions(+), 4 deletions(-)

--
2.28.0