• Lars-Peter Clausen's avatar
    iio: Move buffer registration to the core · 3e1b6c95
    Lars-Peter Clausen authored
    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 summary it means it is possible to register the same channel array for
    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: default avatarLars-Peter Clausen <lars@metafoo.de>
    Signed-off-by: default avatarJonathan Cameron <jic23@kernel.org>
    3e1b6c95
iio_core.h 2.4 KB