]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
pinctrl: starfive: jh7100: ignore disabled device tree nodes
authorNam Cao <namcao@linutronix.de>
Fri, 1 Dec 2023 09:23:29 +0000 (10:23 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 1 Jan 2024 12:42:45 +0000 (12:42 +0000)
commit 5c584f175d32f9cc66c909f851cd905da58b39ea upstream.

The driver always registers pin configurations in device tree. This can
cause some inconvenience to users, as pin configurations in the base
device tree cannot be disabled in the device tree overlay, even when the
relevant devices are not used.

Ignore disabled pin configuration nodes in device tree.

Fixes: ec648f6b7686 ("pinctrl: starfive: Add pinctrl driver for StarFive SoCs")
Cc: <stable@vger.kernel.org>
Signed-off-by: Nam Cao <namcao@linutronix.de>
Link: https://lore.kernel.org/r/fe4c15dcc3074412326b8dc296b0cbccf79c49bf.1701422582.git.namcao@linutronix.de
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/pinctrl/starfive/pinctrl-starfive-jh7100.c

index 530fe340a9a154ad01bb6109ef764a2839ac8a77..561fd0c6b9b0ae1105e3fb315795712452ec24da 100644 (file)
@@ -492,7 +492,7 @@ static int starfive_dt_node_to_map(struct pinctrl_dev *pctldev,
 
        nmaps = 0;
        ngroups = 0;
-       for_each_child_of_node(np, child) {
+       for_each_available_child_of_node(np, child) {
                int npinmux = of_property_count_u32_elems(child, "pinmux");
                int npins   = of_property_count_u32_elems(child, "pins");
 
@@ -527,7 +527,7 @@ static int starfive_dt_node_to_map(struct pinctrl_dev *pctldev,
        nmaps = 0;
        ngroups = 0;
        mutex_lock(&sfp->mutex);
-       for_each_child_of_node(np, child) {
+       for_each_available_child_of_node(np, child) {
                int npins;
                int i;