]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ACPI: property: Rework acpi_graph_get_next_endpoint()
authorSakari Ailus <sakari.ailus@linux.intel.com>
Wed, 1 Oct 2025 10:43:20 +0000 (13:43 +0300)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 22 Oct 2025 14:57:00 +0000 (16:57 +0200)
Rework the code obtaining the next endpoint in
acpi_graph_get_next_endpoint(). The resulting code removes unnecessary
contitionals and should be easier to follow.

Suggested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Link: https://patch.msgid.link/20251001104320.1272752-4-sakari.ailus@linux.intel.com
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/property.c

index b88bad197fca931fc80a549d0b85b6460d25b270..73171d277ab6233a34226947df29fa72c22af699 100644 (file)
@@ -1491,14 +1491,17 @@ static struct fwnode_handle *acpi_graph_get_next_endpoint(
        if (!port)
                return NULL;
 
-       endpoint = acpi_get_next_subnode(port, prev);
-       while (!endpoint) {
-               port = acpi_get_next_subnode(fwnode, port);
-               if (!port)
+       do {
+               endpoint = acpi_get_next_subnode(port, prev);
+               if (endpoint)
                        break;
-               if (is_acpi_graph_node(port, "port"))
-                       endpoint = acpi_get_next_subnode(port, NULL);
-       }
+
+               prev = NULL;
+
+               do {
+                       port = acpi_get_next_subnode(fwnode, port);
+               } while (port && !is_acpi_graph_node(port, "port"));
+       } while (port);
 
        /*
         * The names of the endpoint nodes begin with "endpoint@" followed by