iio: dac: ad8801: Make use of the helper function dev_err_probe()
authorCai Huoqing <caihuoqing@baidu.com>
Tue, 28 Sep 2021 01:38:54 +0000 (09:38 +0800)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Tue, 19 Oct 2021 07:30:43 +0000 (08:30 +0100)
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>
Link: https://lore.kernel.org/r/20210928013902.1341-1-caihuoqing@baidu.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/dac/ad8801.c

index 6354b7c..5ecfdad 100644 (file)
@@ -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,8 +145,8 @@ 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;
                }