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