hwmon: (raspberrypi) Exit immediately in case of error in init
authorArmin Wolf <W_Armin@gmx.de>
Sat, 11 Dec 2021 18:44:49 +0000 (19:44 +0100)
committerGuenter Roeck <linux@roeck-us.net>
Sun, 26 Dec 2021 23:02:06 +0000 (15:02 -0800)
Exit immediately if devm_hwmon_device_register_with_info()
fails since registering a delayed work whould be useless
in such a case anyway.

Signed-off-by: Armin Wolf <W_Armin@gmx.de>
Link: https://lore.kernel.org/r/20211211184449.18211-1-W_Armin@gmx.de
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/raspberrypi-hwmon.c

index 573f53d529121803e9a4a892d9e998c2f6210f38..1650d3b4c26e5a14a45100cf6da28cddc0aa9f5f 100644 (file)
@@ -120,6 +120,8 @@ static int rpi_hwmon_probe(struct platform_device *pdev)
                                                               data,
                                                               &rpi_chip_info,
                                                               NULL);
+       if (IS_ERR(data->hwmon_dev))
+               return PTR_ERR(data->hwmon_dev);
 
        ret = devm_delayed_work_autocancel(dev, &data->get_values_poll_work,
                                           get_values_poll);
@@ -127,10 +129,9 @@ static int rpi_hwmon_probe(struct platform_device *pdev)
                return ret;
        platform_set_drvdata(pdev, data);
 
-       if (!PTR_ERR_OR_ZERO(data->hwmon_dev))
-               schedule_delayed_work(&data->get_values_poll_work, 2 * HZ);
+       schedule_delayed_work(&data->get_values_poll_work, 2 * HZ);
 
-       return PTR_ERR_OR_ZERO(data->hwmon_dev);
+       return 0;
 }
 
 static struct platform_driver rpi_hwmon_driver = {