mirror of
https://github.com/torvalds/linux.git
synced 2024-10-25 06:31:06 +00:00
ACPI / property: Don't limit named child node matching to data nodes
There is no reason why we should limit the use of fwnode_get_named_child_node() to data nodes only. Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> Tested-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
parent
dad9bb0178
commit
ee48cef6c3
|
@ -603,15 +603,29 @@ static struct fwnode_handle *
|
||||||
acpi_fwnode_get_named_child_node(const struct fwnode_handle *fwnode,
|
acpi_fwnode_get_named_child_node(const struct fwnode_handle *fwnode,
|
||||||
const char *childname)
|
const char *childname)
|
||||||
{
|
{
|
||||||
|
char name[ACPI_PATH_SEGMENT_LENGTH];
|
||||||
struct fwnode_handle *child;
|
struct fwnode_handle *child;
|
||||||
|
struct acpi_buffer path;
|
||||||
|
acpi_status status;
|
||||||
|
|
||||||
/*
|
path.length = sizeof(name);
|
||||||
* Find first matching named child node of this fwnode.
|
path.pointer = name;
|
||||||
* For ACPI this will be a data only sub-node.
|
|
||||||
*/
|
fwnode_for_each_child_node(fwnode, child) {
|
||||||
fwnode_for_each_child_node(fwnode, child)
|
if (is_acpi_data_node(child)) {
|
||||||
if (acpi_data_node_match(child, childname))
|
if (acpi_data_node_match(child, childname))
|
||||||
|
return child;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
status = acpi_get_name(ACPI_HANDLE_FWNODE(child),
|
||||||
|
ACPI_SINGLE_NAME, &path);
|
||||||
|
if (ACPI_FAILURE(status))
|
||||||
|
break;
|
||||||
|
|
||||||
|
if (!strncmp(name, childname, ACPI_NAMESEG_SIZE))
|
||||||
return child;
|
return child;
|
||||||
|
}
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user