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