On Thu, Dec 19, 2024 at 4:21 PM Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> wrote: > > 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@xxxxxxxxxxxxxxx> > --- > drivers/acpi/property.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/acpi/property.c b/drivers/acpi/property.c > index 80a52a4e66dd..1ee81e771ae6 100644 > --- a/drivers/acpi/property.c > +++ b/drivers/acpi/property.c > @@ -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)); > } > > base-commit: e14d5ae28eb28c5edef53bd648037d2bb4fce1b3 > -- Applied as 6.14 material, thanks!