RE: [PATCH net] net: phy: add device link between MAC device and MDIO device

From: Wei Fang

Date: Mon Jan 26 2026 - 22:02:10 EST


> > The commit bc66fa87d4fd ("net: phy: Add link between phy dev and mac
> > dev") has created a device link between the MAC and the PHY if the MAC
> > uses a shared MDIO bus (The MDIO and the MAC are two separate devices).
>
> > Sarosh Hasan tried to change the DL_FLAG_STATELESS flag to
> > DL_FLAG_AUTOREMOVE_SUPPLIER to fix the issue [1]. However, the solution
> > does not take into account the hot-swappable PHY devices (such as SFP).
> > so when the PHY device is unplugged, the MAC driver will automatically
> > be removed, which is not the expected behavior.
> >
> > Therefore, to solve this issue of the shared MDIO bus, we create the
> > device link between the MAC device and the MDIO device, rather than
> > between the MAC device and the PHY device. And when the shared MDIO bus
> > is removed, all MAC drivers that depend on it will also be removed.
>
> Shouldn't there be a full chain here? MAC->MDIO->PHY?

The PHY is already a child of the MDIO bus device, so the MDIO->PHY
relationship is already represented.

>
> For the case of the SFP, maybe it should be
>
> MAC->SFP Cage and I2C MDIO->PHY
>
> So if the PHY inside an SFP disappears, the I2C MDIO bus is
> removed. But there is no link upwards from that, so the SFP cage and
> the MAC are left alone?
>

Sorry, I have no experience with SPF module, but from Russell's reply,
it seems unlikely that the MDIO bus would be removed when removing
the PHY. I also modified Sarosh's patch based on this premise (the MDIO
bus will not be removed due to the removal of the PHY).