[PATCH v5 0/2] drivers:iio:dac: Add AD3552R driver support

From: Mihail Chindris
Date: Mon Nov 08 2021 - 03:25:40 EST


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 | 1199 +++++++++++++++++
4 files changed, 1400 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