Re: of_mdiobus_register_phy() and deferred probe

From: Sergei Shtylyov
Date: Thu Oct 22 2015 - 16:07:43 EST


Hello.

On 10/22/2015 04:31 PM, Geert Uytterhoeven wrote:

Due to a probe deferral of an interrupt controller[1], the Micrel
Ethernet PHY on
r8a7791/koelsch started failing to get its IRQ:

no irq domain found for /interrupt-controller@e61c0000 !

However, of_mdiobus_register_phy() uses irq_of_parse_and_map(), which plainly
ignores EPROBE_DEFER, and it just continues.

Later I get:

sh-eth ee700000.ethernet eth0: attached PHY 1 (IRQ -1) to driver
Micrel KSZ8041RNLI

instead of

sh-eth ee700000.ethernet eth0: attached PHY 1 (IRQ 408) to driver
Micrel KSZ8041RNLI

Ethernet still works, as the interrupt seems to be unneeded(?).

Yes, the phylib uses PHY polling anyway, IRQ isn't strictly necessary.

Has anyone already looked into fixing of_mdio to handle deferred probing?

It's the first time I hear about that. Will have to look into this...

Gr{oetje,eeting}s,
Geert

MBR, Sergei

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/