iio: adc: qcom-pm8xxx-xoadc: Make use of the helper function dev_err_probe()
authorCai Huoqing <caihuoqing@baidu.com>
Fri, 8 Oct 2021 09:28:55 +0000 (17:28 +0800)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Wed, 20 Oct 2021 13:43:52 +0000 (14:43 +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.

BTW, change the return value from 'ENXIO' to 'ENODEV',
perfer ENODEV which means no such device.

Signed-off-by: Cai Huoqing <caihuoqing@baidu.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20211008092858.495-7-caihuoqing@baidu.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/adc/qcom-pm8xxx-xoadc.c

index 0610bf25477194cf881d5353f70b511bf25debd4..21d7eff645c337aa239781086fe9a5b0b08b64a9 100644 (file)
@@ -910,16 +910,15 @@ static int pm8xxx_xoadc_probe(struct platform_device *pdev)
        map = dev_get_regmap(dev->parent, NULL);
        if (!map) {
                dev_err(dev, "parent regmap unavailable.\n");
-               return -ENXIO;
+               return -ENODEV;
        }
        adc->map = map;
 
        /* Bring up regulator */
        adc->vref = devm_regulator_get(dev, "xoadc-ref");
-       if (IS_ERR(adc->vref)) {
-               dev_err(dev, "failed to get XOADC VREF regulator\n");
-               return PTR_ERR(adc->vref);
-       }
+       if (IS_ERR(adc->vref))
+               return dev_err_probe(dev, PTR_ERR(adc->vref),
+                                    "failed to get XOADC VREF regulator\n");
        ret = regulator_enable(adc->vref);
        if (ret) {
                dev_err(dev, "failed to enable XOADC VREF regulator\n");