Re: [PATCH v3 1/8] iio:core: add a callback to allow drivers to provide _available attributes
From: Daniel Baluta
Date: Mon Nov 07 2016 - 07:18:25 EST
On Mon, Nov 7, 2016 at 1:57 PM, Peter Rosin <peda@xxxxxxxxxx> wrote:
> On 2016-11-07 12:37, Daniel Baluta wrote:
>> On Mon, Oct 24, 2016 at 1:39 AM, Peter Rosin <peda@xxxxxxxxxx> wrote:
>>> From: Jonathan Cameron <jic23@xxxxxxxxxx>
>>>
>>> A large number of attributes can only take a limited range of values.
>>> Currently in IIO this is handled by directly registering additional
>>> *_available attributes thus providing this information to userspace.
>>>
>>> It is desirable to provide this information via the core for much the same
>>> reason this was done for the actual channel information attributes in the
>>> first place. If it isn't there, then it can only really be accessed from
>>> userspace. Other in kernel IIO consumers have no access to what valid
>>> parameters are.
>>>
>>> Two forms are currently supported:
>>> * list of values in one particular IIO_VAL_* format.
>>> e.g. 1.300000 1.500000 1.730000
>>> * range specification with a step size:
>>> e.g. [1.000000 0.500000 2.500000]
>>> equivalent to 1.000000 1.5000000 2.000000 2.500000
>>
>> Is there any driver using this format? :)
>
> Yes, soon. Hopefully. See patch 3/8
> iio: mcp4531: provide range of available raw values
> https://patchwork.kernel.org/patch/9391283/
>
>>>
>>> An addition set of masks are used to allow different sharing rules for the
>>> *_available attributes generated.
>>>
>>> This allows for example:
>>>
>>> in_accel_x_offset
>>> in_accel_y_offset
>>> in_accel_offset_available.
>>>
>>> We could have gone with having a specification for each and every
>>> info_mask element but that would have meant changing the existing userspace
>>> ABI. This approach does not.
>>>
>>> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx>
>>> [forward ported, added some docs and fixed buffer overflows /peda]
>>> Signed-off-by: Peter Rosin <peda@xxxxxxxxxx>
>>
>> The patch looks good to me at a first glance.
>
> Thanks, may I add your acked-by if/when I respin?
Yes. You can have it from here:
Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx>
thanks,
Daniel.