Message ID | cover.1680790580.git.william.gray@linaro.org (mailing list archive) |
---|---|
Headers | show |
Series | Migrate STX104 to the regmap API | expand |
On Thu, 6 Apr 2023 10:40:09 -0400 William Breathitt Gray <william.gray@linaro.org> wrote: Series applied to the togreg branch of iio.git and pushed out initially as testing. If anyone wants to offer tags / remaining comments there will still be a few days before I push this out in a non rebasing form. Thanks, Jonathan > Changes in v5: > - Explicitly check for negative val for IIO_CHAN_INFO_RAW case in > stx104_write_raw(); this avoids the explicit case previously used > - Use U16_MAX rather than hardcoding unsigned 16-bit maximum value > - Improve ADC conversion comment format and use proper SI units format > Changes in v4: > - Fix race conditions in stx104_read_raw() and stx104_write_raw() by > utilizing a mutex > - Improve indentation in stx104_write_raw() by bailing out early if > chan->output is false in for the IIO_CHAN_INFO_RAW case > - Remove regmap_config max_register lines as superfluous > - Utilize BIT() for gain calculation in stx104_read_raw() > Changes in v3: > - Add STX104_ prefixes to defines to avoid potential name classes > - Rename SAME_CHANNEL() to STX104_SINGLE_CHANNEL() to convey intention > better > - Utilize u8_encode_bits() to define STX104_SOFTWARE_TRIGGER > - Adjust to utilize reg_base members in regmap_config structures > - Fix off-by-one errors in aio_data_wr_ranges[], aio_data_rd_ranges[], > and aio_data_regmap_config max_register > - Inline gpio_config initialization to avoid zeroing it at declaration > - Add blank lines between register map init blocks for clarity > - Utilize regmap_read_poll_timeout() for ADC conversion status poll > Changes in v2: > - Relocate struct stx104_iio for the sake of a clearer patch diff > - Replace FIELD_PREP() and FIELD_GET() with u8_encode_bits() and > u8_get_bits() > > The regmap API supports IO port accessors so we can take advantage of > regmap abstractions rather than handling access to the device registers > directly in the driver. > > To make the git history cleaner, precursor patches to use a define > rather than hardcoded limit and to improve indentation in > stx104_write_raw(), and a follow-up patch to utilize > regmap_read_poll_timeout() for polling the ADC conversion status are > included. > > William Breathitt Gray (6): > iio: addac: stx104: Fix race condition for stx104_write_raw() > iio: addac: stx104: Fix race condition when converting > analog-to-digital > iio: addac: stx104: Use define rather than hardcoded limit for write > val > iio: addac: stx104: Improve indentation in stx104_write_raw() > iio: addac: stx104: Migrate to the regmap API > iio: addac: stx104: Use regmap_read_poll_timeout() for conversion poll > > drivers/iio/addac/Kconfig | 2 + > drivers/iio/addac/stx104.c | 460 +++++++++++++++++++++---------------- > 2 files changed, 264 insertions(+), 198 deletions(-) > > > base-commit: f73df43e957a6fc705a9bd6d143585bdf1b13365