Commit 44f9c7c5 authored by Javier Carrasco's avatar Javier Carrasco Committed by Dmitry Torokhov

Input: adc-keys - use device_for_each_child_node_scoped()

Switch to the _scoped() version introduced in commit 365130fd
("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.
Signed-off-by: default avatarJavier Carrasco <javier.carrasco.cruz@gmail.com>
Link: https://lore.kernel.org/r/20240412-input_device_for_each_child_node_scoped-v1-5-dbad1bc7ea84@gmail.comSigned-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
parent 1102db75
...@@ -66,7 +66,6 @@ static void adc_keys_poll(struct input_dev *input) ...@@ -66,7 +66,6 @@ static void adc_keys_poll(struct input_dev *input)
static int adc_keys_load_keymap(struct device *dev, struct adc_keys_state *st) static int adc_keys_load_keymap(struct device *dev, struct adc_keys_state *st)
{ {
struct adc_keys_button *map; struct adc_keys_button *map;
struct fwnode_handle *child;
int i; int i;
st->num_keys = device_get_child_node_count(dev); st->num_keys = device_get_child_node_count(dev);
...@@ -80,11 +79,10 @@ static int adc_keys_load_keymap(struct device *dev, struct adc_keys_state *st) ...@@ -80,11 +79,10 @@ static int adc_keys_load_keymap(struct device *dev, struct adc_keys_state *st)
return -ENOMEM; return -ENOMEM;
i = 0; i = 0;
device_for_each_child_node(dev, child) { device_for_each_child_node_scoped(dev, child) {
if (fwnode_property_read_u32(child, "press-threshold-microvolt", if (fwnode_property_read_u32(child, "press-threshold-microvolt",
&map[i].voltage)) { &map[i].voltage)) {
dev_err(dev, "Key with invalid or missing voltage\n"); dev_err(dev, "Key with invalid or missing voltage\n");
fwnode_handle_put(child);
return -EINVAL; return -EINVAL;
} }
map[i].voltage /= 1000; map[i].voltage /= 1000;
...@@ -92,7 +90,6 @@ static int adc_keys_load_keymap(struct device *dev, struct adc_keys_state *st) ...@@ -92,7 +90,6 @@ static int adc_keys_load_keymap(struct device *dev, struct adc_keys_state *st)
if (fwnode_property_read_u32(child, "linux,code", if (fwnode_property_read_u32(child, "linux,code",
&map[i].keycode)) { &map[i].keycode)) {
dev_err(dev, "Key with invalid or missing linux,code\n"); dev_err(dev, "Key with invalid or missing linux,code\n");
fwnode_handle_put(child);
return -EINVAL; return -EINVAL;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment