]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ACPI: property: Consider data nodes as being available
authorSakari Ailus <sakari.ailus@linux.intel.com>
Thu, 19 Dec 2024 15:21:48 +0000 (17:21 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 19 Dec 2024 20:04:42 +0000 (21:04 +0100)
New functions making use of the data node availability information, like
fwnode_for_each_available_child_node(), have been added years after
fwnode_device_is_available() was introduced. To enumerate the data nodes
in various ways specific to those functions, the node availability test
needs to pass.

On ACPI, there is no explicit data node availbility information in the
first place and the original fwnode_device_is_available() implementation
simply returns false. This causes new functions that only enumerate
available nodes to never return any nodes on ACPI for leaf devices that
have child data nodes.

However, on the DT side, fwnode_device_is_available() returns true for all
nodes without the "status" property which are analogous to the ACPI data
nodes, so there is a difference in behavior between DT and ACPI in that
respect.

Thus from now on, return true from fwnode_device_is_available() on all
ACPI data nodes.

Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Link: https://patch.msgid.link/20241219152148.975622-1-sakari.ailus@linux.intel.com
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/property.c

index 80a52a4e66dd167e70c80a164a89beb8c834ae13..1ee81e771ae63a16822c0b0ca6a5049cef557e06 100644 (file)
@@ -1492,7 +1492,7 @@ acpi_graph_get_remote_endpoint(const struct fwnode_handle *__fwnode)
 static bool acpi_fwnode_device_is_available(const struct fwnode_handle *fwnode)
 {
        if (!is_acpi_device_node(fwnode))
-               return false;
+               return true;
 
        return acpi_device_is_present(to_acpi_device_node(fwnode));
 }