• Nuno Sá's avatar
    iio: adis: Move burst mode into adis_data · 36e322ec
    Nuno Sá authored
    Add burst mode variables in the per device specific data structure. As
    some drivers support multiple devices with different burst sizes it
    makes sense this data to be in `adis_data`. While moving the variables,
    there are two main differences:
    
    1. The `en`variable is dropped. If a device supports burst mode, it will
    just use it as it will has better performance for almost all real use
    cases.
    2. Replace `extra_len` by `burst_len`. Users should now explicitly
    define the length of the burst buffer as it is typically constant. This
    also allows to remove the following line from the library:
    
    ```
    /* All but the timestamp channel */
    burst_length = (indio_dev->num_channels - 1) * sizeof(u16);
    ```
    
    The library should not assume that a timestamp channel is defined.
    Moreover, most parts also include some diagnostic data, crc, etc.. in
    the burst buffer that needed to be included in an `extra_len` variable
    which is not that nice. On top of this, some devices already start to
    have some 32bit size channels ...
    
    This patch is also a move to completely drop the `struct adis_burst`
    from the library.
    Signed-off-by: default avatarNuno Sá <nuno.sa@analog.com>
    Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
    Link: https://lore.kernel.org/r/20200917155223.218500-2-nuno.sa@analog.com
    36e322ec
adis_buffer.c 5.08 KB