On 11/03/16 11:06, Andrew Lunn wrote: >>> I don't see why it should wait around forever. I have boards with >>> Marvell PHYs, yet if i don't build the Marvell driver, the Ethernet >>> driver still loads, because the generic PHY driver is used instead. >>> Why does this not work here? >> >> As I said before, there is no driver for the device, so >> of_phy_find_device() will always return NULL. > > I'm not yet convinced this is true. I really do expect that the > generic PHY driver will bind to it. It might then go horribly wrong, > because it is not standard compliant, but that is a different issue.
I concur with Andrew here, unless the PHY is guaranteed to return garbage when get_phy_id() is called, there is a good chance that the Generic PHY driver will be bound to this PHY device, or this is not happening for you for some reason? > > The generic driver should probably have a black list for such devices. > This is a PHY issue, not an MDIO issue, and the problem should be > solved in the PHY layer, not in one MDIO driver. I considered the possibility once of disabling the generic PHY driver, such that systems where the vendor-specific PHY driver is expected to be used could utilize that. That does not play well with the fixed PHYs using the generic PHY driver though, anyway, I am digressing. > > We should also consider what happens when somebody actually writes a > driver for this PHY. Are you not going to use it? > > Before this patchset, you did not special case this compatible > string. So at the very least, you need to split this into a separate > patch, so the maintainers can ACK/NACK it, independent of the other > change it is embedded in. > > Andrew > -- Florian