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 <ma...@denx.de> > Cc: David S. Miller <da...@davemloft.net> > Cc: Nisar Sayed <nisar.sa...@microchip.com> > Cc: Woojung Huh <woojung....@microchip.com> > Cc: Andrew Lunn <and...@lunn.ch> > Cc: Florian Fainelli <f.faine...@gmail.com> > Cc: linux-...@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