Lars-Peter Clausen <lars@xxxxxxxxxx> wrote: >On 04/18/2012 03:13 PM, Jonathan Cameron wrote: >> Principal reason is to make later patches more coherent and easier to >review >> but this set in itself separates a logical entity out nicely wihin >the code. >> >> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> >> --- >> drivers/staging/iio/industrialio-buffer.c | 28 >++++++++++++++++++++-------- >> 1 files changed, 20 insertions(+), 8 deletions(-) >> >> diff --git a/drivers/staging/iio/industrialio-buffer.c >b/drivers/staging/iio/industrialio-buffer.c >> index 59b0caf..639b41a 100644 >> --- a/drivers/staging/iio/industrialio-buffer.c >> +++ b/drivers/staging/iio/industrialio-buffer.c >> @@ -508,30 +508,41 @@ static const unsigned long >*iio_scan_mask_match(const unsigned long *av_masks, > >You edited the patch by hand... ;) The 30 should be a 29, also the next >patch doesn't apply anymore Doh ! Rumbled... :) > >> return NULL; >> } >> >> -int iio_sw_buffer_preenable(struct iio_dev *indio_dev) >> +static int iio_compute_scan_bytes(struct iio_dev *indio_dev, const >long *mask, >> + bool timestamp) >> { >> - struct iio_buffer *buffer = indio_dev->buffer; >> const struct iio_chan_spec *ch; >> unsigned bytes = 0; >> int length, i; >> - dev_dbg(&indio_dev->dev, "%s\n", __func__); >> >> /* How much space will the demuxed element take? */ >> - for_each_set_bit(i, buffer->scan_mask, >> + for_each_set_bit(i, mask, >> indio_dev->masklength) { >> ch = iio_find_channel_from_si(indio_dev, i); >> - length = ch->scan_type.storagebits/8; >> + length = ch->scan_type.storagebits / 8; >> bytes = ALIGN(bytes, length); >> bytes += length; >> } >> - if (buffer->scan_timestamp) { >> + if (timestamp) { >> ch = iio_find_channel_from_si(indio_dev, >> - buffer->scan_index_timestamp); >> - length = ch->scan_type.storagebits/8; >> + indio_dev >> + ->buffer->scan_index_timestamp); >> + length = ch->scan_type.storagebits / 8; >> bytes = ALIGN(bytes, length); >> bytes += length; >> } >> + return bytes; >> +} >> + >> +int iio_sw_buffer_preenable(struct iio_dev *indio_dev) >> +{ >> + struct iio_buffer *buffer = indio_dev->buffer; >> + unsigned bytes; >> + dev_dbg(&indio_dev->dev, "%s\n", __func__); >> + >> + /* How much space will the demuxed element take? */ >> + bytes = iio_compute_scan_bytes(indio_dev, buffer->scan_mask, >> + buffer->scan_timestamp); >> buffer->access->set_bytes_per_datum(buffer, bytes); >> >> /* What scan mask do we actually have ?*/ > >-- >To unsubscribe from this list: send the line "unsubscribe linux-iio" in >the body of a message to majordomo@xxxxxxxxxxxxxxx >More majordomo info at http://vger.kernel.org/majordomo-info.html -- Sent from my Android phone with K-9 Mail. Please excuse my brevity. -- To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html