]> git.ipfire.org Git - thirdparty/linux.git/commit
device property: Allow secondary lookup in fwnode_get_next_child_node()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Tue, 10 Feb 2026 13:58:22 +0000 (14:58 +0100)
committerDanilo Krummrich <dakr@kernel.org>
Sun, 22 Feb 2026 23:10:31 +0000 (00:10 +0100)
commit2692c614f8f05929d692b3dbfd3faef1f00fbaf0
treeef37a85d4dfe63e3e7f3b26a5c0e2d4d4f900417
parent6de23f81a5e08be8fbf5e8d7e9febc72a5b5f27f
device property: Allow secondary lookup in fwnode_get_next_child_node()

When device_get_child_node_count() got split to the fwnode and device
respective APIs, the fwnode didn't inherit the ability to traverse over
the secondary fwnode. Hence any user, that switches from device to fwnode
API misses this feature. In particular, this was revealed by the commit
1490cbb9dbfd ("device property: Split fwnode_get_child_node_count()")
that effectively broke the GPIO enumeration on Intel Galileo boards.
Fix this by moving the secondary lookup from device to fwnode API.

Note, in general no device_*() API should go into the depth of the fwnode
implementation.

Fixes: 114dbb4fa7c4 ("drivers property: When no children in primary, try secondary")
Cc: stable@vger.kernel.org
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Rafael J. Wysocki (Intel) <rafael@kernel.org>
Reviewed-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Link: https://patch.msgid.link/20260210135822.47335-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Danilo Krummrich <dakr@kernel.org>
drivers/base/property.c