Message ID | 20181103224948.31014-3-matheus.bernardino@usp.br (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | staging:iio:ad2s90: Add scale info and improve error handling | expand |
On Sat, 3 Nov 2018 19:49:44 -0300 Matheus Tavares <matheus.bernardino@usp.br> wrote: > Previously, ad2s90_probe ignored the return code from spi_setup, not > handling its possible failure. This patch makes ad2s90_probe check if > the code is an error code and, if so, do the following: > > - Call dev_err with an appropriate error message. > - Return the spi_setup's error code. > > Note: The 'return ret' statement could be out of the 'if' block, but > this whole block will be moved up in the function in the patch: > 'staging:iio:ad2s90: Move device registration to the end of probe'. > > Signed-off-by: Matheus Tavares <matheus.bernardino@usp.br> Very nicely presented patch. Thanks. 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/resolver/ad2s90.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/drivers/staging/iio/resolver/ad2s90.c b/drivers/staging/iio/resolver/ad2s90.c > index ba55de29ef36..4908c8a95fad 100644 > --- a/drivers/staging/iio/resolver/ad2s90.c > +++ b/drivers/staging/iio/resolver/ad2s90.c > @@ -86,7 +86,12 @@ static int ad2s90_probe(struct spi_device *spi) > /* need 600ns between CS and the first falling edge of SCLK */ > spi->max_speed_hz = 830000; > spi->mode = SPI_MODE_3; > - spi_setup(spi); > + ret = spi_setup(spi); > + > + if (ret < 0) { > + dev_err(&spi->dev, "spi_setup failed!\n"); > + return ret; > + } > > return 0; > }
diff --git a/drivers/staging/iio/resolver/ad2s90.c b/drivers/staging/iio/resolver/ad2s90.c index ba55de29ef36..4908c8a95fad 100644 --- a/drivers/staging/iio/resolver/ad2s90.c +++ b/drivers/staging/iio/resolver/ad2s90.c @@ -86,7 +86,12 @@ static int ad2s90_probe(struct spi_device *spi) /* need 600ns between CS and the first falling edge of SCLK */ spi->max_speed_hz = 830000; spi->mode = SPI_MODE_3; - spi_setup(spi); + ret = spi_setup(spi); + + if (ret < 0) { + dev_err(&spi->dev, "spi_setup failed!\n"); + return ret; + } return 0; }
Previously, ad2s90_probe ignored the return code from spi_setup, not handling its possible failure. This patch makes ad2s90_probe check if the code is an error code and, if so, do the following: - Call dev_err with an appropriate error message. - Return the spi_setup's error code. Note: The 'return ret' statement could be out of the 'if' block, but this whole block will be moved up in the function in the patch: 'staging:iio:ad2s90: Move device registration to the end of probe'. Signed-off-by: Matheus Tavares <matheus.bernardino@usp.br> --- drivers/staging/iio/resolver/ad2s90.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)