[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a99d6ec3-b7e0-4e40-aa18-68f6eeded113@gmail.com>
Date: Wed, 4 Sep 2024 13:13:03 +0200
From: Javier Carrasco <javier.carrasco.cruz@...il.com>
To: Dmitry Torokhov <dmitry.torokhov@...il.com>, linux-input@...r.kernel.org
Cc: Michael Hennerich <michael.hennerich@...log.com>,
Ville Syrjala <syrjala@....fi>,
Support Opensource <support.opensource@...semi.com>,
Eddie James <eajames@...ux.ibm.com>, Andrey Moiseev <o2g.org.ru@...il.com>,
Hans de Goede <hdegoede@...hat.com>, Jeff LaBundy <jeff@...undy.com>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 13/22] Input: iqs269a - use cleanup facility for fwnodes
On 04/09/2024 06:48, 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@...il.com>
> ---
> 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) {
Reviewed-by: Javier Carrasco <javier.carrasco.cruz@...il.com>
Powered by blists - more mailing lists