drivers/pinctrl/freescale/pinctrl-imx1-core.c:553:1-23: WARNING: Function "for_each_child_of_node" should have of_node_put() before return around line 555. (fwd)
From: Julia Lawall
Date: Mon May 25 2026 - 01:50:43 EST
---------- Forwarded message ----------
Date: Mon, 25 May 2026 13:37:58 +0800
From: kernel test robot <lkp@xxxxxxxxx>
To: oe-kbuild@xxxxxxxxxxxxxxx
Cc: lkp@xxxxxxxxx, Julia Lawall <julia.lawall@xxxxxxxx>
Subject: drivers/pinctrl/freescale/pinctrl-imx1-core.c:553:1-23: WARNING:
Function "for_each_child_of_node" should have of_node_put() before return
around line 555.
BCC: lkp@xxxxxxxxx
CC: oe-kbuild-all@xxxxxxxxxxxxxxx
CC: linux-kernel@xxxxxxxxxxxxxxx
TO: Frank Li <Frank.Li@xxxxxxx>
CC: Linus Walleij <linusw@xxxxxxxxxx>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: e7ae89a0c97ce2b68b0983cd01eda67cf373517d
commit: 63d2059cd665c4e5e4ca6cfbc58c6f171e7939b1 pinctrl: imx1: Allow parsing DT without function nodes
date: 13 days ago
:::::: branch date: 9 hours ago
:::::: commit date: 13 days ago
config: sh-randconfig-r062-20260525 (https://download.01.org/0day-ci/archive/20260525/202605251340.6R7jAyAS-lkp@xxxxxxxxx/config)
compiler: sh4-linux-gcc (GCC) 15.2.0
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Fixes: 63d2059cd665 ("pinctrl: imx1: Allow parsing DT without function nodes")
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Reported-by: Julia Lawall <julia.lawall@xxxxxxxx>
| Closes: https://lore.kernel.org/r/202605251340.6R7jAyAS-lkp@xxxxxxxxx/
cocci warnings: (new ones prefixed by >>)
>> drivers/pinctrl/freescale/pinctrl-imx1-core.c:553:1-23: WARNING: Function "for_each_child_of_node" should have of_node_put() before return around line 555.
drivers/pinctrl/freescale/pinctrl-imx1-core.c:557:2-24: WARNING: Function "for_each_child_of_node" should have of_node_put() before return around line 559.
vim +/for_each_child_of_node +553 drivers/pinctrl/freescale/pinctrl-imx1-core.c
30612cd90005d8 drivers/pinctrl/pinctrl-imx1-core.c Markus Schneider-Pargmann 2013-10-28 542
63d2059cd665c4 drivers/pinctrl/freescale/pinctrl-imx1-core.c Frank Li 2026-05-05 543 /*
63d2059cd665c4 drivers/pinctrl/freescale/pinctrl-imx1-core.c Frank Li 2026-05-05 544 * Check if the DT contains pins in the direct child nodes. This indicates the
63d2059cd665c4 drivers/pinctrl/freescale/pinctrl-imx1-core.c Frank Li 2026-05-05 545 * newer DT format to store pins. This function returns true if the first found
63d2059cd665c4 drivers/pinctrl/freescale/pinctrl-imx1-core.c Frank Li 2026-05-05 546 * fsl,pins property is in a child of np. Otherwise false is returned.
63d2059cd665c4 drivers/pinctrl/freescale/pinctrl-imx1-core.c Frank Li 2026-05-05 547 */
63d2059cd665c4 drivers/pinctrl/freescale/pinctrl-imx1-core.c Frank Li 2026-05-05 548 static bool imx1_pinctrl_dt_is_flat_functions(struct device_node *np)
63d2059cd665c4 drivers/pinctrl/freescale/pinctrl-imx1-core.c Frank Li 2026-05-05 549 {
63d2059cd665c4 drivers/pinctrl/freescale/pinctrl-imx1-core.c Frank Li 2026-05-05 550 struct device_node *function_np;
63d2059cd665c4 drivers/pinctrl/freescale/pinctrl-imx1-core.c Frank Li 2026-05-05 551 struct device_node *pinctrl_np;
63d2059cd665c4 drivers/pinctrl/freescale/pinctrl-imx1-core.c Frank Li 2026-05-05 552
63d2059cd665c4 drivers/pinctrl/freescale/pinctrl-imx1-core.c Frank Li 2026-05-05 @553 for_each_child_of_node(np, function_np) {
63d2059cd665c4 drivers/pinctrl/freescale/pinctrl-imx1-core.c Frank Li 2026-05-05 554 if (of_property_present(function_np, "fsl,pins"))
63d2059cd665c4 drivers/pinctrl/freescale/pinctrl-imx1-core.c Frank Li 2026-05-05 @555 return true;
63d2059cd665c4 drivers/pinctrl/freescale/pinctrl-imx1-core.c Frank Li 2026-05-05 556
63d2059cd665c4 drivers/pinctrl/freescale/pinctrl-imx1-core.c Frank Li 2026-05-05 557 for_each_child_of_node(function_np, pinctrl_np) {
63d2059cd665c4 drivers/pinctrl/freescale/pinctrl-imx1-core.c Frank Li 2026-05-05 558 if (of_property_present(pinctrl_np, "fsl,pins"))
63d2059cd665c4 drivers/pinctrl/freescale/pinctrl-imx1-core.c Frank Li 2026-05-05 559 return false;
63d2059cd665c4 drivers/pinctrl/freescale/pinctrl-imx1-core.c Frank Li 2026-05-05 560 }
63d2059cd665c4 drivers/pinctrl/freescale/pinctrl-imx1-core.c Frank Li 2026-05-05 561 }
63d2059cd665c4 drivers/pinctrl/freescale/pinctrl-imx1-core.c Frank Li 2026-05-05 562
63d2059cd665c4 drivers/pinctrl/freescale/pinctrl-imx1-core.c Frank Li 2026-05-05 563 return true;
63d2059cd665c4 drivers/pinctrl/freescale/pinctrl-imx1-core.c Frank Li 2026-05-05 564 }
63d2059cd665c4 drivers/pinctrl/freescale/pinctrl-imx1-core.c Frank Li 2026-05-05 565
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki