[<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
 
