From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marek Vasut Subject: [PATCH 12/19] usbnet: smsc95xx: Replace ad-hoc PHY functions with generic ones Date: Thu, 3 Jan 2019 02:10:33 +0100 Message-ID: <20190103011040.25974-13-marex@denx.de> References: <20190103011040.25974-1-marex@denx.de> Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Cc: Marek Vasut , "David S . Miller" , Nisar Sayed , Woojung Huh , Andrew Lunn , Florian Fainelli , linux-usb@vger.kernel.org To: netdev@vger.kernel.org Return-path: Received: from mail-out.m-online.net ([212.18.0.10]:33732 "EHLO mail-out.m-online.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728606AbfACBLW (ORCPT ); Wed, 2 Jan 2019 20:11:22 -0500 In-Reply-To: <20190103011040.25974-1-marex@denx.de> Sender: netdev-owner@vger.kernel.org List-ID: Replace the ad-hoc reimplementation of genphy_soft_reset() and genphy_config_aneg() with the generic functions. Signed-off-by: Marek Vasut Cc: David S. Miller Cc: Nisar Sayed Cc: Woojung Huh Cc: Andrew Lunn Cc: Florian Fainelli Cc: linux-usb@vger.kernel.org To: netdev@vger.kernel.org --- drivers/net/usb/smsc95xx.c | 23 +++++++---------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c index c1e59813c1fc..fa33eda61275 100644 --- a/drivers/net/usb/smsc95xx.c +++ b/drivers/net/usb/smsc95xx.c @@ -970,25 +970,16 @@ static void smsc95xx_adjust_link(struct net_device *netdev) static int smsc95xx_phy_initialize(struct usbnet *dev) { struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev->data[0]); - int bmcr, ret, timeout = 0; + int ret; /* reset phy and wait for reset to complete */ - phy_write(pdata->phydev, MII_BMCR, BMCR_RESET); - - do { - msleep(10); - bmcr = phy_read(pdata->phydev, MII_BMCR); - timeout++; - } while ((bmcr & BMCR_RESET) && (timeout < 100)); - - if (timeout >= 100) { - netdev_warn(dev->net, "timeout on PHY Reset"); - return -EIO; - } + ret = genphy_soft_reset(pdata->phydev); + if (ret) + return ret; - phy_write(pdata->phydev, MII_ADVERTISE, - ADVERTISE_ALL | ADVERTISE_CSMA | ADVERTISE_PAUSE_CAP | - ADVERTISE_PAUSE_ASYM); + ret = genphy_config_aneg(pdata->phydev); + if (ret) + return ret; /* read to clear */ ret = phy_read(pdata->phydev, PHY_INT_SRC); -- 2.19.2 From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [12/19] usbnet: smsc95xx: Replace ad-hoc PHY functions with generic ones From: Marek Vasut Message-Id: <20190103011040.25974-13-marex@denx.de> Date: Thu, 3 Jan 2019 02:10:33 +0100 To: netdev@vger.kernel.org Cc: Marek Vasut , "David S . Miller" , Nisar Sayed , Woojung Huh , Andrew Lunn , Florian Fainelli , linux-usb@vger.kernel.org List-ID: UmVwbGFjZSB0aGUgYWQtaG9jIHJlaW1wbGVtZW50YXRpb24gb2YgZ2VucGh5X3NvZnRfcmVzZXQo KSBhbmQKZ2VucGh5X2NvbmZpZ19hbmVnKCkgd2l0aCB0aGUgZ2VuZXJpYyBmdW5jdGlvbnMuCgpT aWduZWQtb2ZmLWJ5OiBNYXJlayBWYXN1dCA8bWFyZXhAZGVueC5kZT4KQ2M6IERhdmlkIFMuIE1p bGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KQ2M6IE5pc2FyIFNheWVkIDxOaXNhci5TYXllZEBt aWNyb2NoaXAuY29tPgpDYzogV29vanVuZyBIdWggPFdvb2p1bmcuSHVoQG1pY3JvY2hpcC5jb20+ CkNjOiBBbmRyZXcgTHVubiA8YW5kcmV3QGx1bm4uY2g+CkNjOiBGbG9yaWFuIEZhaW5lbGxpIDxm LmZhaW5lbGxpQGdtYWlsLmNvbT4KQ2M6IGxpbnV4LXVzYkB2Z2VyLmtlcm5lbC5vcmcKVG86IG5l dGRldkB2Z2VyLmtlcm5lbC5vcmcKLS0tCiBkcml2ZXJzL25ldC91c2Ivc21zYzk1eHguYyB8IDIz ICsrKysrKystLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCsp LCAxNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC91c2Ivc21zYzk1eHgu YyBiL2RyaXZlcnMvbmV0L3VzYi9zbXNjOTV4eC5jCmluZGV4IGMxZTU5ODEzYzFmYy4uZmEzM2Vk YTYxMjc1IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC91c2Ivc21zYzk1eHguYworKysgYi9kcml2 ZXJzL25ldC91c2Ivc21zYzk1eHguYwpAQCAtOTcwLDI1ICs5NzAsMTYgQEAgc3RhdGljIHZvaWQg c21zYzk1eHhfYWRqdXN0X2xpbmsoc3RydWN0IG5ldF9kZXZpY2UgKm5ldGRldikKIHN0YXRpYyBp bnQgc21zYzk1eHhfcGh5X2luaXRpYWxpemUoc3RydWN0IHVzYm5ldCAqZGV2KQogewogCXN0cnVj dCBzbXNjOTV4eF9wcml2ICpwZGF0YSA9IChzdHJ1Y3Qgc21zYzk1eHhfcHJpdiAqKShkZXYtPmRh dGFbMF0pOwotCWludCBibWNyLCByZXQsIHRpbWVvdXQgPSAwOworCWludCByZXQ7CiAKIAkvKiBy ZXNldCBwaHkgYW5kIHdhaXQgZm9yIHJlc2V0IHRvIGNvbXBsZXRlICovCi0JcGh5X3dyaXRlKHBk YXRhLT5waHlkZXYsIE1JSV9CTUNSLCBCTUNSX1JFU0VUKTsKLQotCWRvIHsKLQkJbXNsZWVwKDEw KTsKLQkJYm1jciA9IHBoeV9yZWFkKHBkYXRhLT5waHlkZXYsIE1JSV9CTUNSKTsKLQkJdGltZW91 dCsrOwotCX0gd2hpbGUgKChibWNyICYgQk1DUl9SRVNFVCkgJiYgKHRpbWVvdXQgPCAxMDApKTsK LQotCWlmICh0aW1lb3V0ID49IDEwMCkgewotCQluZXRkZXZfd2FybihkZXYtPm5ldCwgInRpbWVv dXQgb24gUEhZIFJlc2V0Iik7Ci0JCXJldHVybiAtRUlPOwotCX0KKwlyZXQgPSBnZW5waHlfc29m dF9yZXNldChwZGF0YS0+cGh5ZGV2KTsKKwlpZiAocmV0KQorCQlyZXR1cm4gcmV0OwogCi0JcGh5 X3dyaXRlKHBkYXRhLT5waHlkZXYsIE1JSV9BRFZFUlRJU0UsCi0JCUFEVkVSVElTRV9BTEwgfCBB RFZFUlRJU0VfQ1NNQSB8IEFEVkVSVElTRV9QQVVTRV9DQVAgfAotCQlBRFZFUlRJU0VfUEFVU0Vf QVNZTSk7CisJcmV0ID0gZ2VucGh5X2NvbmZpZ19hbmVnKHBkYXRhLT5waHlkZXYpOworCWlmIChy ZXQpCisJCXJldHVybiByZXQ7CiAKIAkvKiByZWFkIHRvIGNsZWFyICovCiAJcmV0ID0gcGh5X3Jl YWQocGRhdGEtPnBoeWRldiwgUEhZX0lOVF9TUkMpOwo=