From: Jonathan Cameron <jic23@kernel.org>
To: David Heidelberg via B4 Relay <devnull+david.ixit.cz@kernel.org>
Cc: david@ixit.cz, Lars-Peter Clausen <lars@metafoo.de>,
Svyatoslav Ryhel <clamor95@gmail.com>,
Robert Eckelmann <longnoserob@gmail.com>,
linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v4 2/5] iio: light: al3000a: Fix an error handling path in al3000a_probe()
Date: Sat, 5 Apr 2025 17:57:55 +0100 [thread overview]
Message-ID: <20250405175755.4f5d57e3@jic23-huawei> (raw)
In-Reply-To: <20250402-al3010-iio-regmap-v4-2-d189bea87261@ixit.cz>
On Wed, 02 Apr 2025 21:33:25 +0200
David Heidelberg via B4 Relay <devnull+david.ixit.cz@kernel.org> wrote:
> From: David Heidelberg <david@ixit.cz>
>
> If regmap_write() fails in al3000a_init(), al3000a_set_pwr_off is
> not called.
>
> In order to avoid such a situation, move the devm_add_action_or_reset()
> which calls al3000a_set_pwr_off right after a successful
> al3000a_set_pwr_on.
>
> Signed-off-by: David Heidelberg <david@ixit.cz>
> ---
> drivers/iio/light/al3000a.c | 9 +++++----
> 1 file changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/iio/light/al3000a.c b/drivers/iio/light/al3000a.c
> index e2fbb1270040f43d9f0a97838861818a8eaef813..6d5115b2a06c5acce18d831b9c41d3d5121fba12 100644
> --- a/drivers/iio/light/al3000a.c
> +++ b/drivers/iio/light/al3000a.c
> @@ -85,12 +85,17 @@ static void al3000a_set_pwr_off(void *_data)
>
> static int al3000a_init(struct al3000a_data *data)
> {
> + struct device *dev = regmap_get_device(data->regmap);
> int ret;
>
> ret = al3000a_set_pwr_on(data);
> if (ret)
> return ret;
>
> + ret = devm_add_action_or_reset(dev, al3000a_set_pwr_off, data);
> + if (ret)
> + return dev_err_probe(dev, ret, "failed to add action\n");
Whilst this is the same thing Christophe pointed out in patch 1, as it is simple code
movement I think it is fine to leave it here 'for now'.
It probably makes sense to scrub IIO in general for cases of this if we decide
the general rule is no error messages for devm_add_action* failures (given they
are only possible if memory allocation fails).
Jonathan
> +
> ret = regmap_write(data->regmap, AL3000A_REG_SYSTEM, AL3000A_CONFIG_RESET);
> if (ret)
> return ret;
> @@ -157,10 +162,6 @@ static int al3000a_probe(struct i2c_client *client)
> if (ret)
> return dev_err_probe(dev, ret, "failed to init ALS\n");
>
> - ret = devm_add_action_or_reset(dev, al3000a_set_pwr_off, data);
> - if (ret)
> - return dev_err_probe(dev, ret, "failed to add action\n");
> -
> return devm_iio_device_register(dev, indio_dev);
> }
>
>
next prev parent reply other threads:[~2025-04-05 16:58 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-02 19:33 [PATCH v4 0/5] iio: light: Modernize al3010 and al3320a codebase David Heidelberg via B4 Relay
2025-04-02 19:33 ` [PATCH v4 1/5] iio: light: al3010: Improve al3010_init error handling with dev_err_probe() David Heidelberg via B4 Relay
2025-04-03 18:01 ` Christophe JAILLET
2025-04-05 16:52 ` Jonathan Cameron
2025-04-02 19:33 ` [PATCH v4 2/5] iio: light: al3000a: Fix an error handling path in al3000a_probe() David Heidelberg via B4 Relay
2025-04-05 16:57 ` Jonathan Cameron [this message]
2025-04-02 19:33 ` [PATCH v4 3/5] iio: light: al3320a: Fix an error handling path in al3320a_probe() David Heidelberg via B4 Relay
2025-04-05 16:59 ` Jonathan Cameron
2025-04-02 19:33 ` [PATCH v4 4/5] iio: light: al3010: Implement regmap support David Heidelberg via B4 Relay
2025-04-02 19:33 ` [PATCH v4 5/5] iio: light: al3320a: " David Heidelberg via B4 Relay
2025-04-05 17:12 ` [PATCH v4 0/5] iio: light: Modernize al3010 and al3320a codebase Jonathan Cameron
2025-04-06 13:01 ` David Heidelberg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250405175755.4f5d57e3@jic23-huawei \
--to=jic23@kernel.org \
--cc=clamor95@gmail.com \
--cc=david@ixit.cz \
--cc=devnull+david.ixit.cz@kernel.org \
--cc=lars@metafoo.de \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=longnoserob@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox