Currently the renesas-irqc driver uses postcore_initcall(). However, the new CPG/MSSR driver uses subsys_initcall(). Hence the IRQC's probe will be deferred, which causes the Micrel Ethernet PHY to not find its interrupt on R-Car Gen2 and RZ/G, as the of_mdio subsystem does not support deferred probe yet. Replace postcore_initcall() by device_initcall() to work around this. Note that on R-Mobile APE6, where the PFC/GPIO combo uses the IRQC as its parent interrupt controller, this does cause a few additional probe deferrals (for SCIFA0, SD0, SD1, and MMC). But the affected drivers handle that fine. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Tested-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> --- v2: - Drop RFC state, - Add Tested-by, - Improved description. --- drivers/irqchip/irq-renesas-irqc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/irqchip/irq-renesas-irqc.c b/drivers/irqchip/irq-renesas-irqc.c index 52304b139aa46a60..992849e54d00ea77 100644 --- a/drivers/irqchip/irq-renesas-irqc.c +++ b/drivers/irqchip/irq-renesas-irqc.c @@ -295,7 +295,7 @@ static int __init irqc_init(void) { return platform_driver_register(&irqc_device_driver); } -postcore_initcall(irqc_init); +device_initcall(irqc_init); static void __exit irqc_exit(void) { -- 1.9.1