Input: iqs62x-keys - drop unused device node references

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: ce1cb0eec8 ("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>
Link: https://lore.kernel.org/r/YyYbYvlkq5cy55dc@nixie71
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
This commit is contained in:
Jeff LaBundy 2022-09-17 14:09:22 -05:00 committed by Dmitry Torokhov
parent a54dc27bd2
commit e336d85e5b
1 changed files with 3 additions and 0 deletions

View File

@ -77,6 +77,7 @@ static int iqs62x_keys_parse_prop(struct platform_device *pdev,
if (ret) { if (ret) {
dev_err(&pdev->dev, "Failed to read switch code: %d\n", dev_err(&pdev->dev, "Failed to read switch code: %d\n",
ret); ret);
fwnode_handle_put(child);
return ret; return ret;
} }
iqs62x_keys->switches[i].code = val; 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_keys->switches[i].flag = (i == IQS62X_SW_HALL_N ?
IQS62X_EVENT_HALL_N_T : IQS62X_EVENT_HALL_N_T :
IQS62X_EVENT_HALL_S_T); IQS62X_EVENT_HALL_S_T);
fwnode_handle_put(child);
} }
return 0; return 0;