[PATCH 1/3] net: thunderx: Cleanup PHY probing code.
David Daney
ddaney at caviumnetworks.com
Fri Mar 11 11:34:24 PST 2016
On 03/11/2016 11:06 AM, 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.
Which part don't you believe? Is it:
- there is no driver for the device.
or
- for PHYs with no driver, of_phy_find_device() will return NULL
> 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.
>
At a higher level, the way we handle either of:
- Lack of a driver.
- "Horribly wrong" driver
is the same, we cannot use a PHY driver.
> 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.
This isn't an MDIO driver patch. This is more about handling a
defective device tree in the only driver (a non-MDIO driver) that will
ever see such a device tree node.
>
> We should also consider what happens when somebody actually writes a
> driver for this PHY. Are you not going to use it?
Easy to answer: We remove the "&& !of_device_is_compatible(phy_np,
"cortina,cs4223-slice")" clause from this driver.
>
> 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.
>
I can, and will, do that.
Thanks,
David Daney
More information about the linux-arm-kernel
mailing list