iio: adc: envelope-detector: Simplify with dev_err_probe()
authorKrzysztof Kozlowski <krzk@kernel.org>
Sat, 29 Aug 2020 06:47:11 +0000 (08:47 +0200)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Thu, 3 Sep 2020 18:40:49 +0000 (19:40 +0100)
Common pattern of handling deferred probe can be simplified with
dev_err_probe().  Less code and also it prints the error value.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Acked-by: Peter Rosin <peda@axentia.se>
Link: https://lore.kernel.org/r/20200829064726.26268-3-krzk@kernel.org
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/adc/envelope-detector.c

index 2a4fd3b..d73eac3 100644 (file)
@@ -348,11 +348,9 @@ static int envelope_detector_probe(struct platform_device *pdev)
        indio_dev->num_channels = 1;
 
        env->dac = devm_iio_channel_get(dev, "dac");
-       if (IS_ERR(env->dac)) {
-               if (PTR_ERR(env->dac) != -EPROBE_DEFER)
-                       dev_err(dev, "failed to get dac input channel\n");
-               return PTR_ERR(env->dac);
-       }
+       if (IS_ERR(env->dac))
+               return dev_err_probe(dev, PTR_ERR(env->dac),
+                                    "failed to get dac input channel\n");
 
        env->comp_irq = platform_get_irq_byname(pdev, "comp");
        if (env->comp_irq < 0)
@@ -360,11 +358,9 @@ static int envelope_detector_probe(struct platform_device *pdev)
 
        ret = devm_request_irq(dev, env->comp_irq, envelope_detector_comp_isr,
                               0, "envelope-detector", env);
-       if (ret) {
-               if (ret != -EPROBE_DEFER)
-                       dev_err(dev, "failed to request interrupt\n");
-               return ret;
-       }
+       if (ret)
+               return dev_err_probe(dev, ret, "failed to request interrupt\n");
+
        env->comp_irq_trigger = irq_get_trigger_type(env->comp_irq);
        if (env->comp_irq_trigger & IRQF_TRIGGER_RISING)
                env->comp_irq_trigger_inv |= IRQF_TRIGGER_FALLING;