Re: [PATCH 02/14] staging:iio:buffer: pull computation of scan length into a utility function.

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

 




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


[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux