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

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

 



On Thu, 17 Sep 2020 17:52:19 +0200
Nuno Sá <nuno.sa@xxxxxxxxxx> 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(-)
> 





[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