On Mon, Nov 30, 2020 at 3:28 PM Bartosz Golaszewski <brgl@xxxxxxxx> wrote: > > From: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx> > > In order to simplify resource management and error paths in probe() and > entirely drop the remove() callback - use devres helpers wherever > possible. Define devm actions for cancelling the delayed work and > disabling the clock. > > Signed-off-by: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx> > --- [snip] > > /* Set thresholds to min/max */ > for (i = 0; i < 16; i++) { > @@ -1334,59 +1353,23 @@ static int xadc_probe(struct platform_device *pdev) > ret = xadc_write_adc_reg(xadc, XADC_REG_THRESHOLD(i), > xadc->threshold[i]); > if (ret) > - goto err_free_irq; > + return ret; > } > > /* Go to non-buffered mode */ > xadc_postdisable(indio_dev); > > - ret = iio_device_register(indio_dev); > + ret = devm_iio_device_register(dev, indio_dev); > if (ret) > - goto err_free_irq; > + return ret; > > platform_set_drvdata(pdev, indio_dev); > Cr*p I was supposed to drop this line... Jonathan: can you drop it when applying? Bartosz [snip]