ACPI: glue: Use acpi_device_adr() in acpi_find_child_device()

Instead of evaluating _ADR in acpi_find_child_device(), use the
observation that it has already been evaluated and the value returned
by it has been stored in the pnp.type.bus_address field of the ACPI
device object at hand.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
Rafael J. Wysocki 2021-10-27 18:59:06 +02:00
parent 87440d70a4
commit 61a3c78d99

View File

@ -113,13 +113,10 @@ struct acpi_device *acpi_find_child_device(struct acpi_device *parent,
return NULL;
list_for_each_entry(adev, &parent->children, node) {
unsigned long long addr;
acpi_status status;
acpi_bus_address addr = acpi_device_adr(adev);
int score;
status = acpi_evaluate_integer(adev->handle, METHOD_NAME__ADR,
NULL, &addr);
if (ACPI_FAILURE(status) || addr != address)
if (!adev->pnp.type.bus_address || addr != address)
continue;
if (!ret) {