[PATCH] phy/at8031: enable at8031 to work on interrupt mode

qiang.zhao at freescale.com qiang.zhao at freescale.com
Fri Mar 28 18:36:11 EST 2014


On Thursday, March 27, 2014 7:53 PM, Sergei Shtylyov wrote:
> -----Original Message-----
> From: Sergei Shtylyov [mailto:sergei.shtylyov at cogentembedded.com]
> Sent: Thursday, March 27, 2014 7:53 PM
> To: Zhao Qiang-B45475; linuxppc-dev at lists.ozlabs.org;
> netdev at vger.kernel.org; Wood Scott-B07421
> Cc: linux-kernel at vger.kernel.org; davem at davemloft.net;
> mugunthanvnm at ti.com; zonque at gmail.com; helmut.schaa at googlemail.com; Xie
> Xiaobo-R63061
> Subject: Re: [PATCH] phy/at8031: enable at8031 to work on interrupt mode
> 
> Hello.
> 
> On 27-03-2014 10:18, Zhao Qiang wrote:
> 
> > The at8031 can work on polling mode and interrupt mode.
> > Add ack_interrupt and config intr funcs to enable interrupt mode for
> > it.
> 
> > Signed-off-by: Zhao Qiang <B45475 at freescale.com>
> > ---
> >   drivers/net/phy/at803x.c | 30 ++++++++++++++++++++++++++++++
> >   1 file changed, 30 insertions(+)
> 
> > diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c index
> > bc71947..d034ef5 100644
> > --- a/drivers/net/phy/at803x.c
> > +++ b/drivers/net/phy/at803x.c
> [...]
> > @@ -191,6 +194,31 @@ static int at803x_config_init(struct phy_device
> *phydev)
> >   	return 0;
> >   }
> >
> > +static int at803x_ack_interrupt(struct phy_device *phydev) {
> > +	int err;
> > +
> > +	err = phy_read(phydev, AT803X_INSR);
> 
>     Could make this an initializer...

Thank you very much. However I have no idea about "make this an initializer".

> 
> > +
> > +	return (err < 0) ? err : 0;
> > +}
> > +
> > +static int at803x_config_intr(struct phy_device *phydev) {
> > +	int err;
> > +	int value;
> > +
> > +	value = phy_read(phydev, AT803X_INER);
> > +
> > +	if (phydev->interrupts == PHY_INTERRUPT_ENABLED)
> > +		err = phy_write(phydev, AT803X_INER,
> > +				(value | AT803X_INER_INIT));
> 
>     Inner parens not needed.
> 
> > +	else
> > +		err = phy_write(phydev, AT803X_INER, value);
> 
>     Why are you not clearing the bits here? Why write back what has been
> read at all?
> 
> WBR, Sergei
> 
> 



More information about the Linuxppc-dev mailing list