Re: [Outreachy kernel] [PATCH] staging: nvec: cleanup USLEEP_RANGEcheckpatch checks
From: Marc Dietrich
Date: Thu Mar 02 2017 - 09:57:36 EST
Hi Simran,
Am Donnerstag, 2. März 2017, 15:48:13 CET schrieb SIMRAN SINGHAL:
> On Thursday, March 2, 2017 at 8:06:40 PM UTC+5:30, Julia Lawall wrote:
> > On Thu, 2 Mar 2017, simran singhal wrote:
> > > Resolve strict checkpatch USLEEP_RANGE checks by converting delays and
> > > sleeps as described in ./Documentation/timers/timers-howto.txt.
> > >
> > > CHECK: usleep_range is preferred over udelay; see Documentation/
> > > timers/timers-howto.txt
> > >
> > > Signed-off-by: simran singhal <singhal...@xxxxxxxxx <javascript:>>
I prefer not to change this. The whole interrupt routine is very wonky, and
changing some delays might break the communication with the i2c master. Also
this is in interrupt context, so a change to usleep_range may not by
justified.
Marc
> > > ---
> > >
> > > drivers/staging/nvec/nvec.c | 4 ++--
> > > 1 file changed, 2 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/drivers/staging/nvec/nvec.c b/drivers/staging/nvec/nvec.c
> > > index c1feccf..cd35e64 100644
> > > --- a/drivers/staging/nvec/nvec.c
> > > +++ b/drivers/staging/nvec/nvec.c
> > > @@ -631,7 +631,7 @@ static irqreturn_t nvec_interrupt(int irq, void
> >
> > *dev)
> >
> > > break;
> > >
> > > case 2: /* first byte after command */
> > >
> > > if (status == (I2C_SL_IRQ | RNW | RCVD)) {
> > >
> > > - udelay(33);
> > > + usleep_range(33, 100);
> >
> > How did you choose the upper limit.
> >
> > I believe that Greg previously suggested not to make these changes if you
> > have no way to test them.
> >
> > Julia, After going through the reply given by Nicholas Mc Guire
>
> https://www.mail-archive.com/kernelnewbies@xxxxxxxxxxxxxxxxx/msg16464.html
> in this reply he has mentioned that even the range of 10 microsecond is
> enough,
> so I prefer to take 100 as upper limit.
>
> Simran
>
> julia
>
> > > if (nvec->rx->data[0] != 0x01) {
> > >
> > > dev_err(nvec->dev,
> > >
> > > "Read without prior read
> >
> > command\n");
> >
> > > @@ -718,7 +718,7 @@ static irqreturn_t nvec_interrupt(int irq, void
> >
> > *dev)
> >
> > > * We experience less incomplete messages with this delay than
> >
> > without
> >
> > > * it, but we don't know why. Help is appreciated.
> > > */
> > >
> > > - udelay(100);
> > > + usleep_range(100, 200);
> > >
> > > return IRQ_HANDLED;
> > >
> > > }
> >
> > Groups "outreachy-kernel" group.
> >
> > > To unsubscribe from this group and stop receiving emails from it, send
> >
> > an email to outreachy-kern...@xxxxxxxxxxxxxxxx <javascript:>.
> >
> > > To post to this group, send email to outreach...@xxxxxxxxxxxxxxxx
> >
> > <javascript:>.
> >
> > > To view this discussion on the web visit
> >
> > https://groups.google.com/d/msgid/outreachy-kernel/20170302142418.GA16773%
> > 40singhal-Inspiron-5558.>
> > > For more options, visit https://groups.google.com/d/optout.
Attachment:
signature.asc
Description: This is a digitally signed message part.