Re: phy_attach_direct()'s use of device_bind_driver()

From: Heiner Kallweit
Date: Wed Feb 10 2021 - 17:41:52 EST


On 10.02.2021 23:13, Saravana Kannan wrote:
> Hi,
>
> This email was triggered by this other email[1].
>
> Why is phy_attach_direct() directly calling device_bind_driver()
> instead of using bus_probe_device()? I'm asking because this is
> causing device links status to not get updated correctly and causes
> this[2] warning.
>

The genphy driver is a fallback if no dedicated PHY driver matches the
PHY device. It doesn't match any device, therefore it needs to be
explicitly bound.

> We can fix the device links issue with something like this[3], but
> want to understand the reason for the current implementation of
> phy_attach_direct() before we go ahead and put in that fix.
>
> Thanks,
> Saravana
>
> [1] - https://lore.kernel.org/lkml/e11bc6a2-ec9d-ea3b-71f7-13c9f764bbfc@xxxxxxxxxx/#t
> [2] - https://lore.kernel.org/lkml/56f7d032-ba5a-a8c7-23de-2969d98c527e@xxxxxxxxxx/
> [3] - https://lore.kernel.org/lkml/6a43e209-1d2d-b10a-4564-0289d54135d3@xxxxxxxxxx/
>