From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oliver Neukum Subject: Re: [PATCH 07/19] usbnet: smsc95xx: Split the reset function Date: Mon, 07 Jan 2019 12:05:36 +0100 Message-ID: <1546859136.3037.23.camel@suse.com> References: <20190103011040.25974-1-marex@denx.de> <20190103011040.25974-8-marex@denx.de> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Cc: "David S . Miller" , Florian Fainelli , Andrew Lunn , Nisar Sayed , Woojung Huh , linux-usb@vger.kernel.org To: Marek Vasut , netdev@vger.kernel.org Return-path: Received: from mx2.suse.de ([195.135.220.15]:43220 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726921AbfAGLFi (ORCPT ); Mon, 7 Jan 2019 06:05:38 -0500 In-Reply-To: <20190103011040.25974-8-marex@denx.de> Sender: netdev-owner@vger.kernel.org List-ID: On Do, 2019-01-03 at 02:10 +0100, Marek Vasut wrote: > The smsc95xx_reset() is called either during bind or later during > the driver operation. However, the MII structure can be populated > only once, when the smsc95xx_reset() is called from the drivers > bind function. > > Split the reset function to allow filling the MII structure only > once. This is done in preparation of phydev conversion, where the > code will connect to PHY between those two halves of the reset > function. > > 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 | 36 +++++++++++++++++++++++++++--------- > 1 file changed, 27 insertions(+), 9 deletions(-) > > diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c > index 551d05eb258e..e40cde490a42 100644 > --- a/drivers/net/usb/smsc95xx.c > +++ b/drivers/net/usb/smsc95xx.c > @@ -944,14 +944,6 @@ static int smsc95xx_phy_initialize(struct usbnet *dev) > { > int bmcr, ret, timeout = 0; > > - /* Initialize MII structure */ > - dev->mii.dev = dev->net; > - dev->mii.mdio_read = smsc95xx_mdio_read; > - dev->mii.mdio_write = smsc95xx_mdio_write; > - dev->mii.phy_id_mask = 0x1f; > - dev->mii.reg_num_mask = 0x1f; > - dev->mii.phy_id = SMSC95XX_INTERNAL_PHY_ID; > - > /* reset phy and wait for reset to complete */ > smsc95xx_mdio_write(dev->net, dev->mii.phy_id, MII_BMCR, BMCR_RESET); > > @@ -985,7 +977,7 @@ static int smsc95xx_phy_initialize(struct usbnet *dev) > return 0; > } > > -static int smsc95xx_reset(struct usbnet *dev) > +static int smsc95xx_reset_pre(struct usbnet *dev) Hi, may I request that you choose different names? These names suggest a connection with the pre_reset() and post_reset() methods of a USB driver. Regards Oliver