Thread (21 messages) 21 messages, 5 authors, 2022-08-22

Re: [PATCH 3/4] iio: add helper function for reading channel offset in buffer

From: Andy Shevchenko <hidden>
Date: 2022-08-19 08:19:27
Also in: linux-iio, linux-mips, lkml

On Wed, Aug 17, 2022 at 1:58 PM Artur Rojek [off-list ref] 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help