Message ID | 20200917155223.218500-1-nuno.sa@analog.com (mailing list archive) |
---|---|
Headers | show |
Series | Refactor ADIS Burst Mode | expand |
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(-) >