summaryrefslogtreecommitdiffstats
path: root/include/acpi
diff options
context:
space:
mode:
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>2013-11-28 23:57:58 +0100
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2013-12-07 01:05:48 +0100
commitd9fef0c4d2e08c3888add77f1dc54fb12afb3928 (patch)
treed5492f76a4cb79f7c18415585095b60cc7d84fe4 /include/acpi
parentMerge branch 'acpi-cleanup' into acpi-hotplug (diff)
downloadlinux-d9fef0c4d2e08c3888add77f1dc54fb12afb3928.tar.xz
linux-d9fef0c4d2e08c3888add77f1dc54fb12afb3928.zip
ACPI / bind: Simplify child device lookups
Now that we create a struct acpi_device object for every ACPI namespace node representing a device, it is not necessary to use acpi_walk_namespace() for child device lookup in acpi_find_child() any more. Instead, we can simply walk the list of children of the given struct acpi_device object and return the matching one (or the one which is the best match if there are more of them). The checks done during the matching loop can be simplified too so that the secondary namespace walks in find_child_checks() are not necessary any more. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Reviewed-by: Aaron Lu <aaron.lu@intel.com>
Diffstat (limited to 'include/acpi')
-rw-r--r--include/acpi/acpi_bus.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h
index b241b733052e..6d82c5c14c0f 100644
--- a/include/acpi/acpi_bus.h
+++ b/include/acpi/acpi_bus.h
@@ -431,6 +431,9 @@ struct acpi_pci_root {
};
/* helper */
+
+struct acpi_device *acpi_find_child_device(struct acpi_device *parent,
+ u64 address, bool check_children);
acpi_handle acpi_find_child(acpi_handle, u64, bool);
static inline acpi_handle acpi_get_child(acpi_handle handle, u64 addr)
{