[PATCH v2 03/16] ACPI: property: Rework acpi_graph_get_next_endpoint()

Sakari Ailus
2025-09-24T07:46:15Z

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>
---
drivers/acpi/property.c | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/drivers/acpi/property.c b/drivers/acpi/property.c
index 3e85900080ac..5438592dc136 100644
--- a/drivers/acpi/property.c
+++ b/drivers/acpi/property.c
@@ -1399,14 +1399,15 @@ 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;
+
+ port = acpi_get_next_subnode(fwnode, port);
if (is_acpi_graph_node(port, "port"))
- endpoint = acpi_get_next_subnode(port, NULL);
- }
+ prev = NULL;
+ } while (port);

/*
* The names of the endpoint nodes begin with "endpoint@" followed by
--
2.47.3