Re: [PATCH v7 8/8] iio: adc: ad7606: add support for AD7606C-{16,18} parts

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Oct 6, 2024 at 1:56 PM Jonathan Cameron <jic23@xxxxxxxxxx> wrote:
>
> On Fri, 4 Oct 2024 14:54:30 +0100
> Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> wrote:
>
> > On Wed, 2 Oct 2024 09:12:09 +0300
> > Alexandru Ardelean <aardelean@xxxxxxxxxxxx> wrote:
> >
> > > On Tue, Oct 1, 2024 at 9:41 PM Jonathan Cameron <jic23@xxxxxxxxxx> wrote:
> > > >
> > > > On Tue, 1 Oct 2024 08:42:23 -0500
> > > > David Lechner <dlechner@xxxxxxxxxxxx> wrote:
> > > >
> > > > > On 10/1/24 3:26 AM, Alexandru Ardelean wrote:
> > > > > > On Thu, Sep 19, 2024 at 4:05 PM Alexandru Ardelean
> > > > > > <aardelean@xxxxxxxxxxxx> wrote:
> > > > > >>
> > > > >
> > > > > ...
> > > > >
> > > > > >> @@ -153,7 +349,19 @@ static int ad7606_scan_direct(struct iio_dev *indio_dev, unsigned int ch,
> > > > > >>         if (ret)
> > > > > >>                 goto error_ret;
> > > > > >>
> > > > > >> -       *val = sign_extend32(st->data[ch], 15);
> > > > > >> +       chan = &indio_dev->channels[ch + 1];
> > > > > >> +       if (chan->scan_type.sign == 'u') {
> > > > > >> +               if (storagebits > 16)
> > > > > >> +                       *val = st->data.buf32[ch];
> > > > > >> +               else
> > > > > >> +                       *val = st->data.buf16[ch];
> > > > > >> +               return 0;
> > > > > >
> > > > > > Arrggh...
> > > > > > I messed up here.
> > > > > > Guillaume found a bug here, where this should be "goto error_ret" or
> > > > > > do an "if ()  {} else {}"
> > > > > > How should we do it here?
> > > > if / else. Goto an error label when it's not an error would be horrible!
> > > > > >
> > > > > > Do we send a fix-patch or send a new series?
> > > > > >
> > > > >
> > > > > Since this patch is already applied, just follow up with another
> > > > > patch with a Fixes: tag.
> > > >
> > > > I sometimes tweak these sort of things if I haven't pushed out
> > > > as togreg yet (or they are really bad!) but in this case I'm not
> > > > 100% sure what the comment is, so I'll just apply a fix on top.
> > > >
> > > > So David is entirely correct in general but by luck of timing
> > > > this time I'll tweak it.
> > > >
> > > > Please check the result in iio.git/testing
> > > > I'll hold off pushing that out as togreg until at least end of
> > > > tomorrow.  One more day o
> > >
> > > The "return 0" needs to be removed in the driver.
> > >
> > >         if (chan->scan_type.sign == 'u') {
> > >                 if (storagebits > 16)
> > >                         *val = st->data.buf32[ch];
> > >                 else
> > >                         *val = st->data.buf16[ch];
> > > -                return 0;
> > Doh!.   Just goes to show why I shouldn't just edit these things.
> > Stupid mistake.  I'll fix when on right machine.
> hopefully now done

Looks good now.
Apologies for the slow reply.

Thanks
Alex

>
> J
> >
> > Jonathan
> >
> > >         } else {
> > >                 if (storagebits > 16)
> > >                         *val = sign_extend32(st->data.buf32[ch], 17);
> > >                 else
> > >                         *val = sign_extend32(st->data.buf16[ch], 15);
> > >         }
> > >
> > >
> > >
> > > >
> > > > Jonathan
> > > >
> > > >
> > > > >
> > > > >
> > > > >
> > > >
> > >
> >
>





[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux