]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
Input: qt1050 - use device_for_each_child_node_scoped()
authorJavier Carrasco <javier.carrasco.cruz@gmail.com>
Fri, 12 Apr 2024 20:57:31 +0000 (22:57 +0200)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Tue, 16 Jul 2024 00:02:13 +0000 (17:02 -0700)
Switch to the _scoped() version introduced in commit 365130fd47af
("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>
drivers/input/keyboard/qt1050.c

index 5a2592e6293db24cc8cf80cf490ef789fd16681e..bce8157d187166ffed54cb5e64709b13307e522c 100644 (file)
@@ -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)