[PATCH] arm: dts: atmel: graph_child_address warning fixes

Rob Herring robh at kernel.org
Tue May 8 13:41:51 PDT 2018


On Tue, May 8, 2018 at 3:18 PM, Boris Brezillon
<boris.brezillon at bootlin.com> wrote:
> On Tue,  8 May 2018 08:59:25 -0500
> Rob Herring <robh at kernel.org> wrote:
>
>> Addresses for graph ports and endpoints are not necessary when
>> there's only a single child. Fix the following warnings removing
>> unnecessary addresses on OF graph nodes:
>>
>> Warning (graph_child_address): /ahb/apb/hlcdc at f0030000/hlcdc-display-controller: graph node has single child node 'port at 0', #address-cells/#size-cells are not necessary
>> Warning (graph_child_address): /ahb/apb/hlcdc at f0030000/hlcdc-display-controller/port at 0: graph node has single child node 'endpoint', #address-cells/#size-cells are not necessary
>> Warning (graph_child_address): /ahb/apb/isi at f0034000/port: graph node has single child node 'endpoint', #address-cells/#size-cells are not necessary
>> Warning (graph_child_address): /panel/port at 0: graph node has single child node 'endpoint at 0', #address-cells/#size-cells are not necessary
>
> Unfortunately that's not going to work, because the driver calls
> drm_of_find_panel_or_bridge() with a positive port and endpoint,
> not -1. While we could switch port arg from 0 to -1, that's not that
> simple for the endpoint arg, because we don't know in advance how many
> devices will be connected to the RGB/DPI port.

0 and -1 are treated the same way in the graph code.

Ports should be separate data streams. Can the hlcdc have more than 1
data stream (I think I checked that)? If not, then more than 1 port
will never be needed. Likewise, a panel is pretty much never going to
have 2 ports (or endpoints). The hlcdc could have more than 1 endpoint
if you have multiple connections, but that's not what's defined. If
you have an 'endpoint' node, then having #address-cells/#size-cells is
wrong without a reg prop and unit-address.

Rob



More information about the linux-arm-kernel mailing list