From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751868AbdFZB1c (ORCPT ); Sun, 25 Jun 2017 21:27:32 -0400 Received: from szxga02-in.huawei.com ([45.249.212.188]:8841 "EHLO szxga02-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751433AbdFZB1Z (ORCPT ); Sun, 25 Jun 2017 21:27:25 -0400 Subject: Re: [PATCH NET V4 1/2] net: phy: Add phy loopback support in net phy framework To: Andrew Lunn CC: , , , , , , , , , , , , , References: <1498290554-237317-1-git-send-email-linyunsheng@huawei.com> <1498290554-237317-2-git-send-email-linyunsheng@huawei.com> <20170624134436.GJ4875@lunn.ch> From: Yunsheng Lin Message-ID: <9da50466-1a27-aeba-b0c5-b55fd7bb01ee@huawei.com> Date: Mon, 26 Jun 2017 09:26:52 +0800 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.2.0 MIME-Version: 1.0 In-Reply-To: <20170624134436.GJ4875@lunn.ch> Content-Type: text/plain; charset="utf-8" Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [10.74.190.125] X-CFilter-Loop: Reflected X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A020206.595062E9.000D,ss=1,re=0.000,recu=0.000,reip=0.000,cl=1,cld=1,fgs=0, ip=0.0.0.0, so=2014-11-16 11:51:01, dmn=2013-03-21 17:37:32 X-Mirapoint-Loop-Id: ced9eabb7bda100cfb245f074a61e8a8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, Andrew On 2017/6/24 21:44, Andrew Lunn wrote: >> @@ -1087,7 +1087,7 @@ int phy_suspend(struct phy_device *phydev) >> { >> struct phy_driver *phydrv = to_phy_driver(phydev->mdio.dev.driver); >> struct ethtool_wolinfo wol = { .cmd = ETHTOOL_GWOL }; >> - int ret = 0; >> + int ret = -EOPNOTSUPP; >> >> /* If the device has WOL enabled, we cannot suspend the PHY */ >> phy_ethtool_get_wol(phydev, &wol); >> @@ -1109,7 +1109,7 @@ int phy_suspend(struct phy_device *phydev) >> int phy_resume(struct phy_device *phydev) >> { >> struct phy_driver *phydrv = to_phy_driver(phydev->mdio.dev.driver); >> - int ret = 0; >> + int ret = -EOPNOTSUPP; >> >> if (phydev->drv && phydrv->resume) >> ret = phydrv->resume(phydev); >> @@ -1123,6 +1123,39 @@ int phy_resume(struct phy_device *phydev) >> } > > These changes should be in a separate patch, since they have nothing > to do with loopback. You want lots of small patches, making them > easier to both describe the why it is needed, and easier to review. > Thanks for pointing out. Will remove it next version. > What are the implications of this change? Are you sure the power core > code does not understand EOPNOTSUPP as being a real error? > I was thinking phy_suspend/resume was making the mistake not returing error when function point is null, as I did in phy_loopback. I am not sure if power core understand EOPNOTSUPP. But I think we should fix it if it is fixable, if not, then add a comment. because it is not consitent with other phy_* . For anyone who is not familiar with phy core, it is confusing.