> -----Original Message-----
> From: Andrew Lunn <and...@lunn.ch>
> Sent: 2021年3月3日 9:24
> To: Joakim Zhang <qiangqing.zh...@nxp.com>
> Cc: peppe.cavall...@st.com; alexandre.tor...@st.com;
> joab...@synopsys.com; da...@davemloft.net; k...@kernel.org;
> f.faine...@gmail.com; dl-linux-imx <linux-...@nxp.com>;
> netdev@vger.kernel.org
> Subject: Re: [RFC V2 resend net-next 1/3] net: stmmac: add clocks
> management for gmac driver
> 
> On Mon, Mar 01, 2021 at 06:25:27PM +0800, Joakim Zhang wrote:
> > @@ -121,11 +132,22 @@ static int stmmac_xgmac2_mdio_read(struct
> mii_bus *bus, int phyaddr, int phyreg)
> >
> >     /* Wait until any existing MII operation is complete */
> >     if (readl_poll_timeout(priv->ioaddr + mii_data, tmp,
> > -                          !(tmp & MII_XGMAC_BUSY), 100, 10000))
> > -           return -EBUSY;
> > +                          !(tmp & MII_XGMAC_BUSY), 100, 10000)) {
> > +           ret = -EBUSY;
> > +           goto err_disable_clks;
> > +   }
> >
> >     /* Read the data from the MII data register */
> > -   return readl(priv->ioaddr + mii_data) & GENMASK(15, 0);
> > +   data = (int)readl(priv->ioaddr + mii_data) & GENMASK(15, 0);
> > +
> > +   pm_runtime_put(priv->device);
> > +
> > +   return data;
> > +
> > +err_disable_clks:
> > +   pm_runtime_put(priv->device);
> > +
> > +   return ret;
> 
> Hi Joakim
> 
> You could do
> 
>       ret = (int)readl(priv->ioaddr + mii_data) & GENMASK(15, 0);
> 
> err_disable_clks:
>       pm_runtime_put(priv->device);
> 
>       return ret;
> 
> Slightly simpler.

Hi Andrew,

Thanks for you kindly review!

Yes, I think this before, but "ret" is always used to check functions' return 
value, to avoid confusion, I add the variable "data".
Maybe I'm thinking too much, I will improve it.

Best Regards,
Joakim Zhang
> >
> >     /* Read the data from the MII data register */
> >     data = (int)readl(priv->ioaddr + mii_data) & MII_DATA_MASK;
> >
> > +   pm_runtime_put(priv->device);
> > +
> >     return data;
> > +
> > +err_disable_clks:
> > +   pm_runtime_put(priv->device);
> > +
> > +   return ret;
> >  }
> 
> Same here.
> 
> Otherwise:
> 
> Reviewed-by: Andrew Lunn <and...@lunn.ch>
> 
>     Andrew

Reply via email to