]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ACPI: property: Use ACPI functions in acpi_graph_get_next_endpoint() only
authorSakari Ailus <sakari.ailus@linux.intel.com>
Wed, 1 Oct 2025 10:43:19 +0000 (13:43 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 19 Jan 2026 12:09:41 +0000 (13:09 +0100)
[ Upstream commit 5d010473cdeaabf6a2d3a9e2aed2186c1b73c213 ]

Calling fwnode_get_next_child_node() in ACPI implementation of the fwnode
property API is somewhat problematic as the latter is used in the
impelementation of the former. Instead of using
fwnode_get_next_child_node() in acpi_graph_get_next_endpoint(), call
acpi_get_next_subnode() directly instead.

Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Reviewed-by: Jonathan Cameron <jonathan.cameron@huawei.com>
Link: https://patch.msgid.link/20251001104320.1272752-3-sakari.ailus@linux.intel.com
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/acpi/property.c

index 7f0fa58b634a3ffb43f9deca3186bef2943240cb..cb4bcc90d4be5431e218cef9cef70011909457f1 100644 (file)
@@ -1168,7 +1168,7 @@ static struct fwnode_handle *acpi_graph_get_next_endpoint(
 
        if (!prev) {
                do {
-                       port = fwnode_get_next_child_node(fwnode, port);
+                       port = acpi_get_next_subnode(fwnode, port);
                        /*
                         * The names of the port nodes begin with "port@"
                         * followed by the number of the port node and they also
@@ -1186,13 +1186,13 @@ static struct fwnode_handle *acpi_graph_get_next_endpoint(
        if (!port)
                return NULL;
 
-       endpoint = fwnode_get_next_child_node(port, prev);
+       endpoint = acpi_get_next_subnode(port, prev);
        while (!endpoint) {
-               port = fwnode_get_next_child_node(fwnode, port);
+               port = acpi_get_next_subnode(fwnode, port);
                if (!port)
                        break;
                if (is_acpi_graph_node(port, "port"))
-                       endpoint = fwnode_get_next_child_node(port, NULL);
+                       endpoint = acpi_get_next_subnode(port, NULL);
        }
 
        /*