Well, for lack of a better title that's what this series does. It merges Jonathan's patches from: * https://lore.kernel.org/linux-iio/20210508182319.488551-1-jic23@xxxxxxxxxx/ Patch 3/3 was a polished a bit with my comments from that review and also to use the devm_ad_sd_setup_buffer_and_trigger() function. * https://lore.kernel.org/linux-iio/20210509114118.660422-1-jic23@xxxxxxxxxx/ Added only to base the conversion to devm_ The AD Sigma Delta family of ADC drivers share a lot of the logic in the ad_sigma_delta lib-driver. This set introduces a devm_ad_sd_setup_buffer_and_trigger() call, which aims to replace the 'ad_sd_{setup,cleanup}_buffer_and_trigger()' pair. This helps with converting the AD7780, AD7791, AD7793 and AD7192 drivers use be fully converted to device-managed functions. Alexandru Ardelean (7): iio: adc: ad_sigma_delta: introduct devm_ad_sd_setup_buffer_and_trigger() iio: adc: ad7793: convert to device-managed functions iio: adc: ad7791: convert to device-managed functions iio: adc: ad7780: convert to device-managed functions iio: adc: ad7192: use devm_clk_get_optional() for mclk iio: adc: ad7192: convert to device-managed functions iio: adc: ad_sigma_delta: remove ad_sd_{setup,cleanup}_buffer_and_trigger() Jonathan Cameron (4): iio: adc: ad7192: Avoid disabling a clock that was never enabled. iio: adc: ad7124: Fix missbalanced regulator enable / disable on error. iio: adc: ad7124: Fix potential overflow due to non sequential channel numbers iio: adc: ad7124: Use devm_ managed calls for all of probe() + drop remove() drivers/iio/adc/ad7124.c | 84 ++++++++++-------------- drivers/iio/adc/ad7192.c | 90 +++++++++++--------------- drivers/iio/adc/ad7780.c | 38 +++-------- drivers/iio/adc/ad7791.c | 44 ++++--------- drivers/iio/adc/ad7793.c | 53 +++++---------- drivers/iio/adc/ad_sigma_delta.c | 82 ++++++++--------------- include/linux/iio/adc/ad_sigma_delta.h | 4 +- 7 files changed, 141 insertions(+), 254 deletions(-) -- 2.31.1