Re: [PATCH 1/1] ACPI: property: Consider data nodes as being available

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]
  Powered by Linux