Re: [PATCH 13/22] Input: iqs269a - use cleanup facility for fwnodes
From: Jeff LaBundy
Date: Sun Sep 08 2024 - 18:08:37 EST
Hi Dmitry,
On Tue, Sep 03, 2024 at 09:48:05PM -0700, Dmitry Torokhov wrote:
> Use __free(fwnode_handle) cleanup facility to ensure that references to
> acquired fwnodes are dropped at appropriate times automatically.
>
> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
Reviewed-by: Jeff LaBundy <jeff@xxxxxxxxxxx>
> ---
> drivers/input/misc/iqs269a.c | 9 +++------
> 1 file changed, 3 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/input/misc/iqs269a.c b/drivers/input/misc/iqs269a.c
> index c34d847fa4af..1851848e2cd3 100644
> --- a/drivers/input/misc/iqs269a.c
> +++ b/drivers/input/misc/iqs269a.c
> @@ -550,7 +550,6 @@ static int iqs269_parse_chan(struct iqs269_private *iqs269,
> const struct fwnode_handle *ch_node)
> {
> struct i2c_client *client = iqs269->client;
> - struct fwnode_handle *ev_node;
> struct iqs269_ch_reg *ch_reg;
> u16 engine_a, engine_b;
> unsigned int reg, val;
> @@ -727,8 +726,9 @@ static int iqs269_parse_chan(struct iqs269_private *iqs269,
> }
>
> for (i = 0; i < ARRAY_SIZE(iqs269_events); i++) {
> - ev_node = fwnode_get_named_child_node(ch_node,
> - iqs269_events[i].name);
> + struct fwnode_handle *ev_node __free(fwnode_handle) =
> + fwnode_get_named_child_node(ch_node,
> + iqs269_events[i].name);
> if (!ev_node)
> continue;
>
> @@ -737,7 +737,6 @@ static int iqs269_parse_chan(struct iqs269_private *iqs269,
> dev_err(&client->dev,
> "Invalid channel %u threshold: %u\n",
> reg, val);
> - fwnode_handle_put(ev_node);
> return -EINVAL;
> }
>
> @@ -751,7 +750,6 @@ static int iqs269_parse_chan(struct iqs269_private *iqs269,
> dev_err(&client->dev,
> "Invalid channel %u hysteresis: %u\n",
> reg, val);
> - fwnode_handle_put(ev_node);
> return -EINVAL;
> }
>
> @@ -767,7 +765,6 @@ static int iqs269_parse_chan(struct iqs269_private *iqs269,
> }
>
> error = fwnode_property_read_u32(ev_node, "linux,code", &val);
> - fwnode_handle_put(ev_node);
> if (error == -EINVAL) {
> continue;
> } else if (error) {
> --
> 2.46.0.469.g59c65b2a67-goog
>
Kind regards,
Jeff LaBundy