[PATCH v6 0/2] drivers:iio:dac: Add AD3552R driver support
From: Mihail Chindris
Date: Mon Nov 29 2021 - 10:25:52 EST
Changelog v5 -> v6:
- https://lore.kernel.org/all/20211108082447.116663-1-mihail.chindris@xxxxxxxxxx/
- (1 << 7) -> BIT(7)
- Remove buf_data from ad3552r_desc to use spi_write_then_read and update lock comment
- Remove useless comments
- Remove unused mask from ad3552r_configure_custom_gain
- In ad3552r_configure_device refactor regulator code, add regulator_enable
and add ad3552r_reg_disable
- Remove unused code like:
AD3552R_CH_TRIGGER_SOFTWARE_LDAC and AD3552R_CH_HW_LDAC_MASK
Changelog v4 -> v5:
- https://lore.kernel.org/all/20211022120427.99516-1-mihail.chindris@xxxxxxxxxx
- Add changelog for previous version
- Extend lock comment
- Remove unused variable is_custom
Changelog v3 -> v4:
- https://lore.kernel.org/all/20211021070924.18626-1-mihail.chindris@xxxxxxxxxx
- Remove trigger.h
- Use dev_err_probe only where needed
- Add comment about buff size
- Fix mutex order
- Return from all switch cases
- Return int in ad3552r_read_reg_wrapper
- Add goto put_child where missing
- Restructure ad3552r_write_codes
- Move ad3552r_write_codes nex to ad3552r_trigger_handler
- Use memcpy and memcmp in ad3552r_write_codes
- Remove endieness functions in ad3552r_write_codes
Changelog v2 -> v3:
- https://lore.kernel.org/all/20211008123909.1901-1-mihail.chindris@xxxxxxxxxx
- Order compatilbe in alphabetic order
- Fix comments in yaml
- Grup struct by types
- Drop usless "if (err)"
- Handle error in ad3552r_read_reg_wrapper
- ad3552r_find_range: u32 -> s32
- Add fwnode_handle_put(custom_gain_child); in good path too
- Vals[0] -> val
- Fix: fwnode_handle_put in ad3552r_configure_device
- Fix indio_dev->name
- Rename custom_gain_child -> gain_child
- Remove intermediary functions and write code inline where possible
- Add ad3552r_field_prep helper function
- Dev_err -> dev_warn for vref supply check
- Replace dev_err with dev_err_probe
- Remove channel for simultaneous update and do update mask register if both
channels values are the same.
Changelog v0 -> v2:
- Split https://lore.kernel.org/all/20210820165927.4524-1-mihail.chindris@xxxxxxxxxx
and move ad3552r driver to this serie.
- Remove precision_mode abi
- Remove adi,synch_channels dt property
- Use vref-supply instead of adi,vref-select
- Remove unimplemented spi modes
- Change output-range format and use enums
- Update description for custom-output-range-config to be more clear
- Add datasheet tag
- Use GENMASK for defines
- Remove tomicro define
- Use get_unaligned_be16 and put_unaligned_be16
- Remove unnecessary checks
- Add comment for AD3552R_CH_DAC_PAGE channel
- Fix indent
- Remove irq trigger
- Remove irelevant checks
- Rename ad3552r_read_reg_pool to ad3552r_read_reg_wrapper.
- Add support for ad3542r
V0:
* Add ad3552r example to https://lore.kernel.org/linux-iio/20210219124012.92897-1-alexandru.ardelean@xxxxxxxxxx
Mihail Chindris (2):
dt-bindings: iio: dac: Add adi,ad3552r.yaml
drivers:iio:dac: Add AD3552R driver support
.../bindings/iio/dac/adi,ad3552r.yaml | 190 +++
drivers/iio/dac/Kconfig | 10 +
drivers/iio/dac/Makefile | 1 +
drivers/iio/dac/ad3552r.c | 1138 +++++++++++++++++
4 files changed, 1339 insertions(+)
create mode 100644 Documentation/devicetree/bindings/iio/dac/adi,ad3552r.yaml
create mode 100644 drivers/iio/dac/ad3552r.c
base-commit: ef226dcf3d88697a06335fbc55c4263ab164b135
--
2.27.0