Message ID | 20210928013902.1341-1-caihuoqing@baidu.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2,1/8] iio: dac: ad8801: Make use of the helper function dev_err_probe() | expand |
On Tue, 28 Sep 2021 09:38:54 +0800 Cai Huoqing <caihuoqing@baidu.com> wrote: > When possible use dev_err_probe help to properly deal with the > PROBE_DEFER error, the benefit is that DEFER issue will be logged > in the devices_deferred debugfs file. > Using dev_err_probe() can reduce code size, and the error value > gets printed. > > Signed-off-by: Cai Huoqing <caihuoqing@baidu.com> Hi Cai, I made a modification to this patch whilst applying as described below. Please take care to not mix different types of change like you did here in one patch. With that change applied to the togreg branch of iio.git and pushed out as testing for 0-day to work it's magic and see if we missed anything, Thanks, Jonathan > --- > drivers/iio/dac/ad8801.c | 15 +++++++-------- > 1 file changed, 7 insertions(+), 8 deletions(-) > > diff --git a/drivers/iio/dac/ad8801.c b/drivers/iio/dac/ad8801.c > index 6354b7c8f052..8acb9fee273c 100644 > --- a/drivers/iio/dac/ad8801.c > +++ b/drivers/iio/dac/ad8801.c > @@ -123,10 +123,9 @@ static int ad8801_probe(struct spi_device *spi) > id = spi_get_device_id(spi); > > state->vrefh_reg = devm_regulator_get(&spi->dev, "vrefh"); > - if (IS_ERR(state->vrefh_reg)) { > - dev_err(&spi->dev, "Vrefh regulator not specified\n"); > - return PTR_ERR(state->vrefh_reg); > - } > + if (IS_ERR(state->vrefh_reg)) > + return dev_err_probe(&spi->dev, PTR_ERR(state->vrefh_reg), > + "Vrefh regulator not specified\n"); > > ret = regulator_enable(state->vrefh_reg); > if (ret) { > @@ -146,15 +145,15 @@ static int ad8801_probe(struct spi_device *spi) > if (id->driver_data == ID_AD8803) { > state->vrefl_reg = devm_regulator_get(&spi->dev, "vrefl"); > if (IS_ERR(state->vrefl_reg)) { > - dev_err(&spi->dev, "Vrefl regulator not specified\n"); > - ret = PTR_ERR(state->vrefl_reg); > + ret = dev_err_probe(&spi->dev, PTR_ERR(state->vrefl_reg), > + "Vrefl regulator not specified\n"); > goto error_disable_vrefh_reg; > } > > ret = regulator_enable(state->vrefl_reg); > if (ret) { > - dev_err(&spi->dev, "Failed to enable vrefl regulator: %d\n", > - ret); > + dev_err(&spi->dev, > + "Failed to enable vrefl regulator: %d\n", ret); This last change is unconnected to the rest of the patch. I've dropped it whilst applying. > goto error_disable_vrefh_reg; > } >
diff --git a/drivers/iio/dac/ad8801.c b/drivers/iio/dac/ad8801.c index 6354b7c8f052..8acb9fee273c 100644 --- a/drivers/iio/dac/ad8801.c +++ b/drivers/iio/dac/ad8801.c @@ -123,10 +123,9 @@ static int ad8801_probe(struct spi_device *spi) id = spi_get_device_id(spi); state->vrefh_reg = devm_regulator_get(&spi->dev, "vrefh"); - if (IS_ERR(state->vrefh_reg)) { - dev_err(&spi->dev, "Vrefh regulator not specified\n"); - return PTR_ERR(state->vrefh_reg); - } + if (IS_ERR(state->vrefh_reg)) + return dev_err_probe(&spi->dev, PTR_ERR(state->vrefh_reg), + "Vrefh regulator not specified\n"); ret = regulator_enable(state->vrefh_reg); if (ret) { @@ -146,15 +145,15 @@ static int ad8801_probe(struct spi_device *spi) if (id->driver_data == ID_AD8803) { state->vrefl_reg = devm_regulator_get(&spi->dev, "vrefl"); if (IS_ERR(state->vrefl_reg)) { - dev_err(&spi->dev, "Vrefl regulator not specified\n"); - ret = PTR_ERR(state->vrefl_reg); + ret = dev_err_probe(&spi->dev, PTR_ERR(state->vrefl_reg), + "Vrefl regulator not specified\n"); goto error_disable_vrefh_reg; } ret = regulator_enable(state->vrefl_reg); if (ret) { - dev_err(&spi->dev, "Failed to enable vrefl regulator: %d\n", - ret); + dev_err(&spi->dev, + "Failed to enable vrefl regulator: %d\n", ret); goto error_disable_vrefh_reg; }
When possible use dev_err_probe help to properly deal with the PROBE_DEFER error, the benefit is that DEFER issue will be logged in the devices_deferred debugfs file. Using dev_err_probe() can reduce code size, and the error value gets printed. Signed-off-by: Cai Huoqing <caihuoqing@baidu.com> --- drivers/iio/dac/ad8801.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-)