On Sun, 2 Dec 2018 12:42:35 +0100 Slawomir Stepien <sst@xxxxxxxxx> wrote: > The ret returned from ad7280_chain_setup() is needed to initialize the > slave_num. Don't overwrite it with call to devm_add_action_or_reset(). > > Fixes: cc9c58ef6e06 ("staging: iio: adc: ad7280a: use devm_* APIs") > Signed-off-by: Slawomir Stepien <sst@xxxxxxxxx> Good find. Applied to the togreg branch of iio.git and pushed out as testing for the autobuilders to play with it. Thanks, Jonathan > --- > drivers/staging/iio/adc/ad7280a.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/drivers/staging/iio/adc/ad7280a.c b/drivers/staging/iio/adc/ad7280a.c > index 7a0ba26f9fd9..14f6a3ced060 100644 > --- a/drivers/staging/iio/adc/ad7280a.c > +++ b/drivers/staging/iio/adc/ad7280a.c > @@ -879,15 +879,15 @@ static int ad7280_probe(struct spi_device *spi) > if (ret < 0) > return ret; > > - ret = devm_add_action_or_reset(&spi->dev, ad7280_sw_power_down, st); > - if (ret) > - return ret; > - > st->slave_num = ret; > st->scan_cnt = (st->slave_num + 1) * AD7280A_NUM_CH; > st->cell_threshhigh = 0xFF; > st->aux_threshhigh = 0xFF; > > + ret = devm_add_action_or_reset(&spi->dev, ad7280_sw_power_down, st); > + if (ret) > + return ret; > + > /* > * Total Conversion Time = ((tACQ + tCONV) * > * (Number of Conversions per Part)) −