2021-12-11 18:45:13

by Armin Wolf

[permalink] [raw]
Subject: [PATCH] hwmon: (raspberrypi) Exit immediately in case of error in init

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 <[email protected]>
---
drivers/hwmon/raspberrypi-hwmon.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/hwmon/raspberrypi-hwmon.c b/drivers/hwmon/raspberrypi-hwmon.c
index 573f53d52912..1650d3b4c26e 100644
--- a/drivers/hwmon/raspberrypi-hwmon.c
+++ b/drivers/hwmon/raspberrypi-hwmon.c
@@ -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 = {
--
2.30.2



2021-12-17 15:32:52

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH] hwmon: (raspberrypi) Exit immediately in case of error in init

On Sat, Dec 11, 2021 at 07:44:49PM +0100, Armin Wolf wrote:
> 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 <[email protected]>

Applied.

Thanks,
Guenter

> ---
> drivers/hwmon/raspberrypi-hwmon.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> --
> 2.30.2
>
> diff --git a/drivers/hwmon/raspberrypi-hwmon.c b/drivers/hwmon/raspberrypi-hwmon.c
> index 573f53d52912..1650d3b4c26e 100644
> --- a/drivers/hwmon/raspberrypi-hwmon.c
> +++ b/drivers/hwmon/raspberrypi-hwmon.c
> @@ -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 = {