[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHp75VeierGKV7BqF+y-vxramA4nk24LOSPRxgmjots_amkg-w@mail.gmail.com>
Date: Fri, 19 Aug 2022 11:17:41 +0300
From: Andy Shevchenko <andy.shevchenko@...il.com>
To: Artur Rojek <contact@...ur-rojek.eu>
Cc: Paul Cercueil <paul@...pouillou.net>,
Jonathan Cameron <jic23@...nel.org>,
Dmitry Torokhov <dmitry.torokhov@...il.com>,
Chris Morgan <macromorgan@...mail.com>,
"open list:BROADCOM NVRAM DRIVER" <linux-mips@...r.kernel.org>,
linux-iio <linux-iio@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
linux-input <linux-input@...r.kernel.org>
Subject: Re: [PATCH 3/4] iio: add helper function for reading channel offset
in buffer
On Wed, Aug 17, 2022 at 1:58 PM Artur Rojek <contact@...ur-rojek.eu> wrote:
>
> This is useful for consumers that wish to parse raw buffer data.
...
> +int iio_find_channel_offset_in_buffer(struct iio_dev *indio_dev,
> + const struct iio_chan_spec *chan,
> + struct iio_buffer *buffer)
> +{
> + int length, offset = 0;
> + unsigned int si;
> +
> + if (chan->scan_index < 0 ||
> + !test_bit(chan->scan_index, buffer->scan_mask)) {
> + return -EINVAL;
> + }
Have you run checkpatch? The {} are redundant. But personally I would
split this into two separate conditionals.
> + for (si = 0; si < chan->scan_index; ++si) {
Just a side crying: where did you, people, get this pre-increment pattern from?!
> + if (!test_bit(si, buffer->scan_mask))
> + continue;
NIH for_each_set_bit()
> + length = iio_storage_bytes_for_si(indio_dev, si);
> +
> + /* Account for channel alignment. */
> + if (offset % length)
> + offset += length - (offset % length);
> + offset += length;
> + }
> +
> + return offset;
> +}
> +EXPORT_SYMBOL_GPL(iio_find_channel_offset_in_buffer);
Same Q as per previous patch: IIO namespace?
--
With Best Regards,
Andy Shevchenko
Powered by blists - more mailing lists