Re: [PATCH 2/2] staging: iio: adc: ad7192: Report error directly in ad7192_setup

From: Jonathan Cameron
Date: Sat Mar 16 2019 - 12:53:02 EST


On Sat, 16 Mar 2019 16:45:19 +0000
Jonathan Cameron <jic23@xxxxxxxxxx> wrote:

> On Fri, 15 Mar 2019 13:14:25 +0200
> Mircea Caprioru <mircea.caprioru@xxxxxxxxxx> wrote:
>
> > This patch removes the goto out statement thus ensuring that an error is
> > report as soon as it occurs. This gives more information and improves
> > readability.
> No problem with the patch, but I'm not sure why it gives more information?
> Gone from printing an useless error message to printing none.
>
> I'll just drop that bit of the description in favour of code readability.
> Hope you don't mind!
Patch is also wrong as that out is used by other gotos...

I guess this is because it's dependent on the patch you sent later on Friday.
I'll reorder, but please be careful of this in future.

If patches are in separate series posted as the same time they really
need to be independent.

Jonathan

>
> Jonathan
> >
> > Signed-off-by: Mircea Caprioru <mircea.caprioru@xxxxxxxxxx>
> > ---
> > drivers/staging/iio/adc/ad7192.c | 13 +++++--------
> > 1 file changed, 5 insertions(+), 8 deletions(-)
> >
> > diff --git a/drivers/staging/iio/adc/ad7192.c b/drivers/staging/iio/adc/ad7192.c
> > index ebab75bdeed7..27f962b8c4ef 100644
> > --- a/drivers/staging/iio/adc/ad7192.c
> > +++ b/drivers/staging/iio/adc/ad7192.c
> > @@ -236,13 +236,13 @@ static int ad7192_setup(struct ad7192_state *st,
> > /* reset the serial interface */
> > ret = ad_sd_reset(&st->sd, 48);
> > if (ret < 0)
> > - goto out;
> > + return ret;
> > usleep_range(500, 1000); /* Wait for at least 500us */
> >
> > /* write/read test for device presence */
> > ret = ad_sd_read_reg(&st->sd, AD7192_REG_ID, 1, &id);
> > if (ret)
> > - goto out;
> > + return ret;
> >
> > id &= AD7192_ID_MASK;
> >
> > @@ -310,15 +310,15 @@ static int ad7192_setup(struct ad7192_state *st,
> >
> > ret = ad_sd_write_reg(&st->sd, AD7192_REG_MODE, 3, st->mode);
> > if (ret)
> > - goto out;
> > + return ret;
> >
> > ret = ad_sd_write_reg(&st->sd, AD7192_REG_CONF, 3, st->conf);
> > if (ret)
> > - goto out;
> > + return ret;
> >
> > ret = ad7192_calibrate_all(st);
> > if (ret)
> > - goto out;
> > + return ret;
> >
> > /* Populate available ADC input ranges */
> > for (i = 0; i < ARRAY_SIZE(st->scale_avail); i++) {
> > @@ -332,9 +332,6 @@ static int ad7192_setup(struct ad7192_state *st,
> > }
> >
> > return 0;
> > -out:
> > - dev_err(&st->sd.spi->dev, "setup failed\n");
> > - return ret;
> > }
> >
> > static ssize_t
>