Messages in this thread | | | Date | Fri, 23 Jun 2017 05:16:27 +0200 | From | Andrew Lunn <> | Subject | Re: [PATCH NET 1/2] net: phy: Add phy loopback support in net phy framework |
| |
> +int genphy_loopback(struct phy_device *phydev, bool enable) > +{ > + int value; > + > + if (enable) { > + value = phy_read(phydev, MII_BMCR); > + phy_write(phydev, MII_BMCR, value | BMCR_LOOPBACK); > + } else { > + value = phy_read(phydev, MII_BMCR); > + phy_write(phydev, MII_BMCR, value & ~BMCR_LOOPBACK); > + }
You should add error checking here. Both phy_read and phy_write can return an error. Also, do the read and write once.
> + > + return 0; > +} > +EXPORT_SYMBOL(genphy_loopback); > + > +static int gen10g_loopback(struct phy_device *phydev, bool enable) > +{ > + return 0; > +}
This is pointless. The core code in phy.c should first check if the function exists before calling it. So not having a 10g method is fine.
Andrew
| |