[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170623031627.GA5432@lunn.ch>
Date: Fri, 23 Jun 2017 05:16:27 +0200
From: Andrew Lunn <andrew@...n.ch>
To: Lin Yun Sheng <linyunsheng@...wei.com>
Cc: davem@...emloft.net, f.fainelli@...il.com,
huangdaode@...ilicon.com, xuwei5@...ilicon.com,
liguozhu@...ilicon.com, Yisen.Zhuang@...wei.com,
gabriele.paoloni@...wei.com, john.garry@...wei.com,
linuxarm@...wei.com, salil.mehta@...wei.com, lipeng321@...wei.com,
tremyfr@...il.com, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org
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
Powered by blists - more mailing lists