On Mon, 1 Mar 2021 16:32:54 +0200 Eugen Hristev <eugen.hristev@xxxxxxxxxxxxx> wrote: > The hw_init hardware init call must happen after the clock is prepared and > enabled. Otherwise, writing to the registers might lead to a block or > external abort. Fix for existing parts or something only needed for the new devices? If it's a fix we should be looking to back port it so please provide me with a fixes tag. If it's a fix but not super urgent then let me know and we can take it with the rest of this series (and hence keep things simple) Thanks, Jonathan > > Signed-off-by: Eugen Hristev <eugen.hristev@xxxxxxxxxxxxx> > --- > drivers/iio/adc/at91-sama5d2_adc.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/iio/adc/at91-sama5d2_adc.c b/drivers/iio/adc/at91-sama5d2_adc.c > index a7826f097b95..63325f037f09 100644 > --- a/drivers/iio/adc/at91-sama5d2_adc.c > +++ b/drivers/iio/adc/at91-sama5d2_adc.c > @@ -1832,12 +1832,12 @@ static int at91_adc_probe(struct platform_device *pdev) > goto vref_disable; > } > > - at91_adc_hw_init(indio_dev); > - > ret = clk_prepare_enable(st->per_clk); > if (ret) > goto vref_disable; > > + at91_adc_hw_init(indio_dev); > + > platform_set_drvdata(pdev, indio_dev); > > ret = at91_adc_buffer_and_trigger_init(&pdev->dev, indio_dev);