Re: [PATCH 0/4] Refactor ADIS Burst Mode

Jonathan Cameron
2020-09-19T13:21:54Z

On Thu, 17 Sep 2020 17:52:19 +0200
Nuno Sá <nuno.sa@analog.com> wrote:

> This series refactors the ADIS burst mode. The 2 main ideas of the
> refactor are:
>
> 1. As discussed in previous patches, there's no point in
> enabling/disabling burst mode at runtime. Hence, we can drop the `en`
> variable.
> 2. Replace the `extra_len` by `burst_len` where users have now to
> explicitly define the size of the burst buffer. The point is to remove
> the following line from the lib:
>
> ```
> /* 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 ...
>
> While doing this (and mainly when looking at the adis16400) drivers it
> felt that the burst variables belong to the per chip `adis_data`
> structure. As seen in the adis16400 driver, some drivers might support
> multiple devices with different burst sizes.
>
> For now, it does not feel necessary to wrap these variables in a
> `adis_burst` structure but I don't see any problem in doing so if
> required...

Looks good to me as it stands.

Series applied to the togreg branch of iio.git.

Thanks,

Jonathan

>
> Nuno Sá (4):
> iio: adis: Move burst mode into adis_data
> iio: adis16400: Drop adis_burst usage
> iio: adis16475: Drop adis_burst usage
> iio: adis. Drop adis_burst struct
>
> drivers/iio/imu/adis16400.c | 32 +++++++++++++-------------------
> drivers/iio/imu/adis16475.c | 18 +++---------------
> drivers/iio/imu/adis_buffer.c | 12 +++++-------
> include/linux/iio/imu/adis.h | 26 +++++++++-----------------
> 4 files changed, 30 insertions(+), 58 deletions(-)
>