hwmon: (iio_hwmon) use dev_err_probe
authorAlexander Stein <alexander.stein@ew.tq-group.com>
Tue, 31 Jan 2023 10:33:59 +0000 (11:33 +0100)
committerGuenter Roeck <linux@roeck-us.net>
Fri, 3 Feb 2023 15:30:11 +0000 (07:30 -0800)
Instead of just returning an error code, add an error message as well.
While at it, simplify the code and use a common return path.
Upon deferral this also nicely lists the following message in
/sys/kernel/debug/devices_deferred:
adc     iio_hwmon: Failed to get channels

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Link: https://lore.kernel.org/r/20230131103359.625081-1-alexander.stein@ew.tq-group.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/iio_hwmon.c

index 3aa4089..4c8a808 100644 (file)
@@ -77,9 +77,11 @@ static int iio_hwmon_probe(struct platform_device *pdev)
 
        channels = devm_iio_channel_get_all(dev);
        if (IS_ERR(channels)) {
-               if (PTR_ERR(channels) == -ENODEV)
-                       return -EPROBE_DEFER;
-               return PTR_ERR(channels);
+               ret = PTR_ERR(channels);
+               if (ret == -ENODEV)
+                       ret = -EPROBE_DEFER;
+               return dev_err_probe(dev, ret,
+                                    "Failed to get channels\n");
        }
 
        st = devm_kzalloc(dev, sizeof(*st), GFP_KERNEL);