Re: [PATCH 00/10] Generic ACPI node references, graph improvements

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

 



On Wed, 2018-07-04 at 11:22 +0200, Rafael J. Wysocki wrote:
> On Wed, Jun 27, 2018 at 11:37 AM, Sakari Ailus
> <sakari.ailus@xxxxxxxxxxxxxxx> wrote:
> > Hi all,
> > 
> > I'm somewhat unhappy with the current state of affairs in ACPI and
> > how the
> > graphs as well as references have been implemented. In particular,
> > whenever dealing with references to non-device nodes, the
> > implementation
> > for ACPI is quite different than on DT, requiring extra properties
> > and
> > knowledge of reference types in more generic frameworks that handle
> > these
> > references.
> > 
> > The issue stems from the fact that currently ACPI does not allow
> > referencing data extension nodes in the node hierarchy in a generic
> > way.
> > Both ACPI data extension nodes and device nodes are represented by
> > the
> > same fwnode_handle objects at runtime.
> > 
> > Parsing a reference requires knowing what kind of reference it is,
> > for
> > instance whether it's a port, an endpoint or a LED. We currently use
> > integer properties in the data nodes to tell this ("port" or
> > "endpoint").
> > This is problematic as each new type of a reference will add new
> > properties to the same DT binding namespace that are not documented
> > in DT
> > binding documentation, increasing the likelihood of a clash. This
> > headache
> > will continue to increase with each new type of a reference.
> > 
> > What I propose to address these issues is the following:
> > 
> > - Instead of defining ways to refer to data nodes by following
> > integer
> >   properties, use the names of the data nodes (first package entry
> > of the
> >   data extension) themselves to do that. This is easier to
> > understand and
> >   entirely agnostic to the type of the reference (see patch 2).
> > 
> > - Add "@" character (as in DT) to separate the node name and its
> > number.
> >   The name defines the purpose of the node, such as "port" for graph
> > ports
> >   and "endpoint" for graph endpoints. This makes parsing easier as
> > the "@"
> >   character separates the name from the number as well as brings
> > ACPI to
> >   feature parity with DT in this respect --- the name could
> > theoretically
> >   include numerals as well.
> > 
> > - Use "reg" property to tell the number, instead of a purpose-
> > defined
> >   property.
> > 
> > These changes will also bring ACPI to feature parity with DT in two
> > respects:
> > 
> > - DT bindings will be sufficient in the vast majority of cases for
> > making
> >   references.
> > 
> > - References are generic and there is no need to know the type of
> > the
> >   reference when parsing it.
> > 
> > The benefits of these changes will include
> > 
> > - Avoid incrementally increasing headache in managing properties in
> > the
> >   DT property binding namespace that are (and likely won't) be part
> > of the
> >   DT bindings.
> > 
> > - Driver (e.g. LED) changes to support ACPI will be more or less
> > limited
> >   to switching from OF to fwnode property API.
> > 
> > - Firmware type can be hidded most of the time, and we could get rid
> > of
> >   (or at not least add more functions like)
> >   v4l2_fwnode_reference_get_int_prop in
> >   drivers/media/v4l2-core/v4l2-fwnode.c.
> > 

> > Sakari Ailus (10):
> >   ACPI: Convert ACPI reference args to generic fwnode reference args
> >   ACPI: property: Allow making references to non-device nodes
> >   ACPI / DSD: Add documentation on hierarchical data extension
> >     references
> >   ACPI: property: Make the ACPI graph API private
> >   ACPI: property: Allow direct graph endpoint references
> >   ACPI: property: Use data node name and reg property for graphs
> >   ACPI / DSD: graph: Update for hierarchical data extension 1.1
> >   ACPI / DSD: graph: Fix graph documentation
> >   ACPI / DSD: graph: If a port has a single endpoint, its value will
> > be
> >     zero
> >   ACPI / DSD: graph: Use hierarchical data extension strings for
> >     references
> 
> Does anyone have any comments regarding this series?  Mika?  Andy?

I didn't look at them, but I think Sakari is doing the right things
here.

> Anyone from the ARM side of things?

-- 
Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Intel Finland Oy
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[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