[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0ca1e7910cd247c4aebe4cbd48a633cb@BLUPR03MB341.namprd03.prod.outlook.com>
Date: Fri, 28 Mar 2014 07:36:11 +0000
From: "qiang.zhao@...escale.com" <qiang.zhao@...escale.com>
To: Sergei Shtylyov <sergei.shtylyov@...entembedded.com>,
"linuxppc-dev@...ts.ozlabs.org" <linuxppc-dev@...ts.ozlabs.org>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
Scott Wood <scottwood@...escale.com>
CC: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"davem@...emloft.net" <davem@...emloft.net>,
"mugunthanvnm@...com" <mugunthanvnm@...com>,
"zonque@...il.com" <zonque@...il.com>,
"helmut.schaa@...glemail.com" <helmut.schaa@...glemail.com>,
Xiaobo Xie <X.Xie@...escale.com>
Subject: RE: [PATCH] phy/at8031: enable at8031 to work on interrupt mode
On Thursday, March 27, 2014 7:53 PM, Sergei Shtylyov wrote:
> -----Original Message-----
> From: Sergei Shtylyov [mailto:sergei.shtylyov@...entembedded.com]
> Sent: Thursday, March 27, 2014 7:53 PM
> To: Zhao Qiang-B45475; linuxppc-dev@...ts.ozlabs.org;
> netdev@...r.kernel.org; Wood Scott-B07421
> Cc: linux-kernel@...r.kernel.org; davem@...emloft.net;
> mugunthanvnm@...com; zonque@...il.com; helmut.schaa@...glemail.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@...escale.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
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists