On Mon, May 16, 2016 at 03:11:35PM +0200, Rabin Vincent wrote: > On Mon, May 16, 2016 at 02:29:03PM +0200, Andrew Lunn wrote: > > What i think is better is to make fixed_phy_add() return -EPROBE_DEFER > > if it is called before fixed_mdio_bus_init(). > > I don't see how this will work for platforms such as ar7 and bcm47xx > which call fixed_phy_add() from platform code. Ah! Not good. fixed_phy_add() is the lower layer call. What we can do is only access fmb->mii_bus->irq[phy_addr] if irq != PHY_POLL. That should make ar7 and bcm47xx work again. The higher level function fixed_phy_register() should return -EPROBE_DEFER if fixed_mdio_bus_init() has not been called yet. Thanks Andrew