Input: qt1050 - use device_for_each_child_node_scoped()
Switch to the _scoped() version introduced in commit 365130fd47
("device property: Introduce device_for_each_child_node_scoped()")
to remove the need for manual calling of fwnode_handle_put() in the
paths where the code exits the loop early.
In this case the err label was no longer necessary and EINVAL is
returned directly.
Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com>
Link: https://lore.kernel.org/r/20240412-input_device_for_each_child_node_scoped-v1-2-dbad1bc7ea84@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
This commit is contained in:
parent
4256d47201
commit
4f210af5eb
@ -346,35 +346,34 @@ static int qt1050_apply_fw_data(struct qt1050_priv *ts)
|
||||
static int qt1050_parse_fw(struct qt1050_priv *ts)
|
||||
{
|
||||
struct device *dev = &ts->client->dev;
|
||||
struct fwnode_handle *child;
|
||||
int nbuttons;
|
||||
|
||||
nbuttons = device_get_child_node_count(dev);
|
||||
if (nbuttons == 0 || nbuttons > QT1050_MAX_KEYS)
|
||||
return -ENODEV;
|
||||
|
||||
device_for_each_child_node(dev, child) {
|
||||
device_for_each_child_node_scoped(dev, child) {
|
||||
struct qt1050_key button;
|
||||
|
||||
/* Required properties */
|
||||
if (fwnode_property_read_u32(child, "linux,code",
|
||||
&button.keycode)) {
|
||||
dev_err(dev, "Button without keycode\n");
|
||||
goto err;
|
||||
return -EINVAL;
|
||||
}
|
||||
if (button.keycode >= KEY_MAX) {
|
||||
dev_err(dev, "Invalid keycode 0x%x\n",
|
||||
button.keycode);
|
||||
goto err;
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (fwnode_property_read_u32(child, "reg",
|
||||
&button.num)) {
|
||||
dev_err(dev, "Button without pad number\n");
|
||||
goto err;
|
||||
return -EINVAL;
|
||||
}
|
||||
if (button.num < 0 || button.num > QT1050_MAX_KEYS - 1)
|
||||
goto err;
|
||||
return -EINVAL;
|
||||
|
||||
ts->reg_keys |= BIT(button.num);
|
||||
|
||||
@ -424,10 +423,6 @@ static int qt1050_parse_fw(struct qt1050_priv *ts)
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
err:
|
||||
fwnode_handle_put(child);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
static int qt1050_probe(struct i2c_client *client)
|
||||
|
Loading…
Reference in New Issue
Block a user