Commit c90a8519 authored by Javier Carrasco's avatar Javier Carrasco Committed by Dmitry Torokhov
Browse files

Input: gpio_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-3-dbad1bc7ea84@gmail.com


Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
parent 4f210af5
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -768,7 +768,6 @@ gpio_keys_get_devtree_pdata(struct device *dev)
{
	struct gpio_keys_platform_data *pdata;
	struct gpio_keys_button *button;
	struct fwnode_handle *child;
	int nbuttons, irq;

	nbuttons = device_get_child_node_count(dev);
@@ -790,7 +789,7 @@ gpio_keys_get_devtree_pdata(struct device *dev)

	device_property_read_string(dev, "label", &pdata->name);

	device_for_each_child_node(dev, child) {
	device_for_each_child_node_scoped(dev, child) {
		if (is_of_node(child)) {
			irq = of_irq_get_byname(to_of_node(child), "irq");
			if (irq > 0)
@@ -808,7 +807,6 @@ gpio_keys_get_devtree_pdata(struct device *dev)
		if (fwnode_property_read_u32(child, "linux,code",
					     &button->code)) {
			dev_err(dev, "Button without keycode\n");
			fwnode_handle_put(child);
			return ERR_PTR(-EINVAL);
		}