RE: [PATCH net-next v6 5/6] dsa: lan9303: Port 0 is xMII port

From: Jerry.Ray
Date: Mon Jan 16 2023 - 13:19:37 EST


> > In preparing to move the adjust_link logic into the phylink_mac_link_up
> > api, change the macro used to check for the cpu port. In
> > phylink_mac_link_up, the phydev pointer passed in for the CPU port is
> > NULL, so we can't keep using phy_is_pseudo_fixed_link(phydev).
> >
> > Signed-off-by: Jerry Ray <jerry.ray@xxxxxxxxxxxxx>
> > ---
> > v5->v6:
> > Using port 0 to identify the xMII port on the LAN9303.
> > ---
> > drivers/net/dsa/lan9303-core.c | 6 +++++-
> > 1 file changed, 5 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/net/dsa/lan9303-core.c b/drivers/net/dsa/lan9303-core.c
> > index 792ce6a26a6a..7be4c491e5d9 100644
> > --- a/drivers/net/dsa/lan9303-core.c
> > +++ b/drivers/net/dsa/lan9303-core.c
> > @@ -1063,7 +1063,11 @@ static void lan9303_adjust_link(struct dsa_switch *ds, int port,
> > {
> > int ctl;
> >
> > - if (!phy_is_pseudo_fixed_link(phydev))
> > + /* On this device, we are only interested in doing something here if
> > + * this is an xMII port. All other ports are 10/100 phys using MDIO
> > + * to control there link settings.
> > + */
> > + if (port != 0)
>
> Maybe a macro LAN9303_XMII_PORT would be good, if it was also
> consistently used in lan9303_setup()?
>

Agreed. As I add more devices that have different capabilities, this will
change. I was hesitant to add this logic now as it is uncalled for until
multiple device types are supported by the driver.

> > return;
> >
> > ctl = lan9303_phy_read(ds, port, MII_BMCR);
> > --
> > 2.17.1
> >