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

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

 



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?
Anyone from the ARM side of things?
--
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