Re: [PATCH 06/11] iio: Move buffer registration to the core

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

 



On Wed, Nov 26, 2014 at 7:55 PM, Lars-Peter Clausen <lars@xxxxxxxxxx> wrote:
> Originally device and buffer registration were kept as separate operations
> in IIO to allow to register two distinct sets of channels for buffered and
> non-buffered operations. This has since already been further restricted and
> the channel set registered for the buffer needs to be a subset of the
> channel set registered for the device. Additionally the possibility to not
> have a raw (or processed) attribute for a channel which was registered for
> the device was added a while ago. This means it is possible to not register
> any device level attributes for a channel even if it is registered for the
> device. Also if a channel's scan_index is set to -1 and the channel is
> registered for the buffer it is ignored.
>
> So in summery it means it is possible to register the same channel array for

s/summery/summary

> both the device and the buffer yet still end up with distinctive sets of
> channels for both of them. This makes the argument for having to have to
> manually register the channels for both the device and the buffer invalid.
> Considering that the vast majority of all drivers want to register the same
> set of channels for both the buffer and the device it makes sense to move
> the buffer registration into the core to avoid some boiler-plate code in the
> device driver setup path.
>
> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx>
> ---

<snip>

> diff --git a/drivers/iio/industrialio-triggered-buffer.c b/drivers/iio/industrialio-triggered-buffer.c
> index d6f54930..ac97685 100644
> --- a/drivers/iio/industrialio-triggered-buffer.c
> +++ b/drivers/iio/industrialio-triggered-buffer.c
> @@ -78,16 +78,8 @@ int iio_triggered_buffer_setup(struct iio_dev *indio_dev,

You should also update the comment for iio_triggered_buffer_setup. This function
doesn't register the buffer with IIO core anymore.


>         /* Flag that polled ring buffering is possible */
>         indio_dev->modes |= INDIO_BUFFER_TRIGGERED;
>
> -       ret = iio_buffer_register(indio_dev,
> -                                 indio_dev->channels,
> -                                 indio_dev->num_channels);
> -       if (ret)
> -               goto error_dealloc_pollfunc;
> -
>         return 0;

<snip>

thanks,
Daniel.
--
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