Hi Rafael, Thanks for the review. On Wed, Dec 18, 2024 at 12:07:52PM +0100, Rafael J. Wysocki wrote: > On Wed, Dec 18, 2024 at 10:16 AM Sakari Ailus > <sakari.ailus@xxxxxxxxxxxxxxx> wrote: > > > > Years after fwnode_device_is_available() was introduced, new functions > > making use of the function on data nodes have been added, such as > > fwnode_for_each_available_child_node(), it becomes apparent that returning > > "false" for all child nodes on ACPI wasn't a workable option. > > Can you describe the problem in a bit more detail? How about: Years after fwnode_device_is_available() was introduced, new functions making use of the data node availability information have been added, such as fwnode_for_each_available_child_node(). 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 information on this in the first place and the original fwnode_device_is_available() implementation simply returnes false. This leads to the new functions enumerating only available nodes to never return any nodes on ACPI. On DT side most access functions, even those without "_available" part, did only operate on available nodes. Thus from now on, return true from fwnode_device_is_available() on all ACPI data nodes. > > > On DT side most access functions, even those without "_available" part, > > did only operate on available nodes. That wasn't the case on ACPI where > > only device node availability is known explicitly. > > > > Thus from now on, return true from fwnode_device_is_available() on all > > ACPI data nodes. > > > > Fixes: 2294b3af05e9 ("device property: Introduce fwnode_device_is_available()") > > Do you want people to backport this patch? Good question. There are just a couple of drivers using the new fwnode_*_available() functions and I think they're used on DT-based platforms *currently*. So nothing is broken right now as far as I can see (but likely will be in some time without the patch). I guess just dropping Fixes: is an alternative, this wasn't really a bug honestly. Backporting shouldn't hurt either though. > > > 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: 7fa366f1b6e376c38966faa42da7f0f2e013fdab -- Kind regards, Sakari Ailus