diff mbox series

Input: iqs62x-keys - drop unused device node references

Message ID YyYbYvlkq5cy55dc@nixie71 (mailing list archive)
State Mainlined
Commit e336d85e5b08c9d206a89b2b95c0c7bb47c64a56
Headers show
Series Input: iqs62x-keys - drop unused device node references | expand

Commit Message

Jeff LaBundy Sept. 17, 2022, 7:09 p.m. UTC
Each call to device/fwnode_get_named_child_node() must be matched
with a call to fwnode_handle_put() once the corresponding node is
no longer in use. This ensures a reference count remains balanced
in the case of dynamic device tree support.

Currently, the driver never calls fwnode_handle_put(). This patch
adds the missing calls.

Fixes: ce1cb0eec85b ("input: keyboard: Add support for Azoteq IQS620A/621/622/624/625")
Signed-off-by: Jeff LaBundy <jeff@labundy.com>
---
 drivers/input/keyboard/iqs62x-keys.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Mattijs Korpershoek Sept. 21, 2022, 8:14 a.m. UTC | #1
On sam., sept. 17, 2022 at 14:09, Jeff LaBundy <jeff@labundy.com> wrote:

> Each call to device/fwnode_get_named_child_node() must be matched
> with a call to fwnode_handle_put() once the corresponding node is
> no longer in use. This ensures a reference count remains balanced
> in the case of dynamic device tree support.
>
> Currently, the driver never calls fwnode_handle_put(). This patch
> adds the missing calls.
>
> Fixes: ce1cb0eec85b ("input: keyboard: Add support for Azoteq IQS620A/621/622/624/625")
> Signed-off-by: Jeff LaBundy <jeff@labundy.com>

Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>

> ---
>  drivers/input/keyboard/iqs62x-keys.c | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/drivers/input/keyboard/iqs62x-keys.c b/drivers/input/keyboard/iqs62x-keys.c
> index 93446b21f98f..db793a550c25 100644
> --- a/drivers/input/keyboard/iqs62x-keys.c
> +++ b/drivers/input/keyboard/iqs62x-keys.c
> @@ -77,6 +77,7 @@ static int iqs62x_keys_parse_prop(struct platform_device *pdev,
>  		if (ret) {
>  			dev_err(&pdev->dev, "Failed to read switch code: %d\n",
>  				ret);
> +			fwnode_handle_put(child);
>  			return ret;
>  		}
>  		iqs62x_keys->switches[i].code = val;
> @@ -90,6 +91,8 @@ static int iqs62x_keys_parse_prop(struct platform_device *pdev,
>  			iqs62x_keys->switches[i].flag = (i == IQS62X_SW_HALL_N ?
>  							 IQS62X_EVENT_HALL_N_T :
>  							 IQS62X_EVENT_HALL_S_T);
> +
> +		fwnode_handle_put(child);
>  	}
>  
>  	return 0;
> -- 
> 2.34.1
Dmitry Torokhov Sept. 25, 2022, 5:18 a.m. UTC | #2
On Sat, Sep 17, 2022 at 02:09:22PM -0500, Jeff LaBundy wrote:
> Each call to device/fwnode_get_named_child_node() must be matched
> with a call to fwnode_handle_put() once the corresponding node is
> no longer in use. This ensures a reference count remains balanced
> in the case of dynamic device tree support.
> 
> Currently, the driver never calls fwnode_handle_put(). This patch
> adds the missing calls.
> 
> Fixes: ce1cb0eec85b ("input: keyboard: Add support for Azoteq IQS620A/621/622/624/625")
> Signed-off-by: Jeff LaBundy <jeff@labundy.com>

Applied, thank you.
diff mbox series

Patch

diff --git a/drivers/input/keyboard/iqs62x-keys.c b/drivers/input/keyboard/iqs62x-keys.c
index 93446b21f98f..db793a550c25 100644
--- a/drivers/input/keyboard/iqs62x-keys.c
+++ b/drivers/input/keyboard/iqs62x-keys.c
@@ -77,6 +77,7 @@  static int iqs62x_keys_parse_prop(struct platform_device *pdev,
 		if (ret) {
 			dev_err(&pdev->dev, "Failed to read switch code: %d\n",
 				ret);
+			fwnode_handle_put(child);
 			return ret;
 		}
 		iqs62x_keys->switches[i].code = val;
@@ -90,6 +91,8 @@  static int iqs62x_keys_parse_prop(struct platform_device *pdev,
 			iqs62x_keys->switches[i].flag = (i == IQS62X_SW_HALL_N ?
 							 IQS62X_EVENT_HALL_N_T :
 							 IQS62X_EVENT_HALL_S_T);
+
+		fwnode_handle_put(child);
 	}
 
 	return 0;