[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <SN1PR11MB0446C48979235A1A8DC78FDEEC660@SN1PR11MB0446.namprd11.prod.outlook.com>
Date: Wed, 13 Feb 2019 02:53:58 +0000
From: <Tristram.Ha@...rochip.com>
To: <andrew@...n.ch>
CC: <sergio.paracuellos@...il.com>, <f.fainelli@...il.com>,
<pavel@....cz>, <UNGLinuxDriver@...rochip.com>,
<netdev@...r.kernel.org>
Subject: RE: [PATCH v1 net-next 3/4] net: dsa: microchip: use readx_poll_time
for polling
> > -static int ksz9477_wait_vlan_ctrl_ready(struct ksz_device *dev, u32
> waiton,
> > - int timeout)
> > -{
> > - u8 data;
> > -
> > - do {
> > - ksz_read8(dev, REG_SW_VLAN_CTRL, &data);
> > - if (!(data & waiton))
> > - break;
> > - usleep_range(1, 10);
> > - } while (timeout-- > 0);
> > -
> > - if (timeout <= 0)
> > - return -ETIMEDOUT;
> > -
> > - return 0;
>
> Hi Tristram
>
> I think it would be better to keep ksz9477_wait_vlan_ctrl_ready(),
> ksz9477_wait_alu_ready() etc, and change there implementation to use
> readx_poll_timeout(). The function names act as better documentation
> for what we are waiting for than the parameters being passed to
> readx_poll_timeout().
The macro readx_poll_timeout() was suggested when the MIB counter read timeout code was implemented. It is a little awkward to use with ksz_read as the macro was designed to use with readb, readw, and readl call.
Maybe the whole macro can be copied and modified to accommodate ksz_read?
In the spirit of always updating the driver with better code the ksz9477_wait_ functions are also replaced to use readx_poll_timeout(). If the function code is just replaced with a macro inside there is not much point to declare the code as a function.
I think I just leave the old code as is.
Powered by blists - more mailing lists