Message ID | 20180508135930.5768-1-robh@kernel.org |
---|---|
State | New |
Headers | show |
Series | arm: dts: atmel: graph_child_address warning fixes | expand |
On Tue, 8 May 2018 08:59:25 -0500 Rob Herring <robh@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@f0030000/hlcdc-display-controller: graph node has single child node 'port@0', #address-cells/#size-cells are not necessary > Warning (graph_child_address): /ahb/apb/hlcdc@f0030000/hlcdc-display-controller/port@0: graph node has single child node 'endpoint', #address-cells/#size-cells are not necessary > Warning (graph_child_address): /ahb/apb/isi@f0034000/port: graph node has single child node 'endpoint', #address-cells/#size-cells are not necessary > Warning (graph_child_address): /panel/port@0: graph node has single child node 'endpoint@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. [1]https://elixir.bootlin.com/linux/v4.17-rc3/source/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_output.c#L41 > > Cc: Nicolas Ferre <nicolas.ferre@microchip.com> > Cc: Alexandre Belloni <alexandre.belloni@bootlin.com> > Signed-off-by: Rob Herring <robh@kernel.org> > --- > arch/arm/boot/dts/at91-sama5d4_ma5d4evk.dts | 15 ++++----------- > arch/arm/boot/dts/at91sam9g45.dtsi | 2 -- > arch/arm/boot/dts/at91sam9n12.dtsi | 8 +------- > arch/arm/boot/dts/at91sam9n12ek.dts | 14 ++++---------- > arch/arm/boot/dts/at91sam9x5_lcd.dtsi | 7 +------ > arch/arm/boot/dts/at91sam9x5dm.dtsi | 13 ++++--------- > arch/arm/boot/dts/sama5d3.dtsi | 2 -- > arch/arm/boot/dts/sama5d3_lcd.dtsi | 8 +------- > arch/arm/boot/dts/sama5d4.dtsi | 8 +------- > 9 files changed, 16 insertions(+), 61 deletions(-) > > diff --git a/arch/arm/boot/dts/at91-sama5d4_ma5d4evk.dts b/arch/arm/boot/dts/at91-sama5d4_ma5d4evk.dts > index fe05aaa7ac87..72c3b077fb46 100644 > --- a/arch/arm/boot/dts/at91-sama5d4_ma5d4evk.dts > +++ b/arch/arm/boot/dts/at91-sama5d4_ma5d4evk.dts > @@ -49,9 +49,8 @@ > pinctrl-names = "default"; > pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb888>; > > - port@0 { > - hlcdc_panel_output: endpoint@0 { > - reg = <0>; > + port { > + hlcdc_panel_output: endpoint { > remote-endpoint = <&panel_input>; > }; > }; > @@ -144,16 +143,10 @@ > /* Actually Ampire 800480R2 */ > compatible = "foxlink,fl500wvr00-a0t", "simple-panel"; > backlight = <&backlight>; > - #address-cells = <1>; > - #size-cells = <0>; > status = "okay"; > > - port@0 { > - #address-cells = <1>; > - #size-cells = <0>; > - > - panel_input: endpoint@0 { > - reg = <0>; > + port { > + panel_input: endpoint { > remote-endpoint = <&hlcdc_panel_output>; > }; > }; > diff --git a/arch/arm/boot/dts/at91sam9g45.dtsi b/arch/arm/boot/dts/at91sam9g45.dtsi > index 1ee25a475be8..36729e3f2899 100644 > --- a/arch/arm/boot/dts/at91sam9g45.dtsi > +++ b/arch/arm/boot/dts/at91sam9g45.dtsi > @@ -1114,8 +1114,6 @@ > clock-names = "isi_clk"; > status = "disabled"; > port { > - #address-cells = <1>; > - #size-cells = <0>; > }; > }; > > diff --git a/arch/arm/boot/dts/at91sam9n12.dtsi b/arch/arm/boot/dts/at91sam9n12.dtsi > index 37cb81f457b5..a071fccb729b 100644 > --- a/arch/arm/boot/dts/at91sam9n12.dtsi > +++ b/arch/arm/boot/dts/at91sam9n12.dtsi > @@ -475,13 +475,7 @@ > > hlcdc-display-controller { > compatible = "atmel,hlcdc-display-controller"; > - #address-cells = <1>; > - #size-cells = <0>; > - > - port@0 { > - #address-cells = <1>; > - #size-cells = <0>; > - reg = <0>; > + port { > }; > }; > > diff --git a/arch/arm/boot/dts/at91sam9n12ek.dts b/arch/arm/boot/dts/at91sam9n12ek.dts > index c43095c5cb5c..eb0c1e11fa4d 100644 > --- a/arch/arm/boot/dts/at91sam9n12ek.dts > +++ b/arch/arm/boot/dts/at91sam9n12ek.dts > @@ -134,9 +134,8 @@ > pinctrl-names = "default"; > pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb888>; > > - port@0 { > - hlcdc_panel_output: endpoint@0 { > - reg = <0>; > + port { > + hlcdc_panel_output: endpoint { > remote-endpoint = <&panel_input>; > }; > }; > @@ -246,13 +245,8 @@ > #size-cells = <0>; > status = "okay"; > > - port@0 { > - reg = <0>; > - #address-cells = <1>; > - #size-cells = <0>; > - > - panel_input: endpoint@0 { > - reg = <0>; > + port { > + panel_input: endpoint { > remote-endpoint = <&hlcdc_panel_output>; > }; > }; > diff --git a/arch/arm/boot/dts/at91sam9x5_lcd.dtsi b/arch/arm/boot/dts/at91sam9x5_lcd.dtsi > index 1629db9dd563..e243dff67a67 100644 > --- a/arch/arm/boot/dts/at91sam9x5_lcd.dtsi > +++ b/arch/arm/boot/dts/at91sam9x5_lcd.dtsi > @@ -23,13 +23,8 @@ > > hlcdc-display-controller { > compatible = "atmel,hlcdc-display-controller"; > - #address-cells = <1>; > - #size-cells = <0>; > > - port@0 { > - #address-cells = <1>; > - #size-cells = <0>; > - reg = <0>; > + port { > }; > }; > > diff --git a/arch/arm/boot/dts/at91sam9x5dm.dtsi b/arch/arm/boot/dts/at91sam9x5dm.dtsi > index 34c089fe0bc0..5aea8fd09ad6 100644 > --- a/arch/arm/boot/dts/at91sam9x5dm.dtsi > +++ b/arch/arm/boot/dts/at91sam9x5dm.dtsi > @@ -29,9 +29,8 @@ > pinctrl-names = "default"; > pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb888>; > > - port@0 { > - hlcdc_panel_output: endpoint@0 { > - reg = <0>; > + port { > + hlcdc_panel_output: endpoint { > remote-endpoint = <&panel_input>; > }; > }; > @@ -80,12 +79,8 @@ > #size-cells = <0>; > status = "disabled"; > > - port@0 { > - #address-cells = <1>; > - #size-cells = <0>; > - > - panel_input: endpoint@0 { > - reg = <0>; > + port { > + panel_input: endpoint { > remote-endpoint = <&hlcdc_panel_output>; > }; > }; > diff --git a/arch/arm/boot/dts/sama5d3.dtsi b/arch/arm/boot/dts/sama5d3.dtsi > index eae5e1ee9cd8..2c51042e1f6b 100644 > --- a/arch/arm/boot/dts/sama5d3.dtsi > +++ b/arch/arm/boot/dts/sama5d3.dtsi > @@ -239,8 +239,6 @@ > clock-names = "isi_clk"; > status = "disabled"; > port { > - #address-cells = <1>; > - #size-cells = <0>; > }; > }; > > diff --git a/arch/arm/boot/dts/sama5d3_lcd.dtsi b/arch/arm/boot/dts/sama5d3_lcd.dtsi > index be7cfefc6c31..2d042d7ec531 100644 > --- a/arch/arm/boot/dts/sama5d3_lcd.dtsi > +++ b/arch/arm/boot/dts/sama5d3_lcd.dtsi > @@ -23,13 +23,7 @@ > > hlcdc-display-controller { > compatible = "atmel,hlcdc-display-controller"; > - #address-cells = <1>; > - #size-cells = <0>; > - > - port@0 { > - #address-cells = <1>; > - #size-cells = <0>; > - reg = <0>; > + port { > }; > }; > > diff --git a/arch/arm/boot/dts/sama5d4.dtsi b/arch/arm/boot/dts/sama5d4.dtsi > index 0cf9beddd556..90d7b64915ec 100644 > --- a/arch/arm/boot/dts/sama5d4.dtsi > +++ b/arch/arm/boot/dts/sama5d4.dtsi > @@ -333,13 +333,7 @@ > > hlcdc-display-controller { > compatible = "atmel,hlcdc-display-controller"; > - #address-cells = <1>; > - #size-cells = <0>; > - > - port@0 { > - #address-cells = <1>; > - #size-cells = <0>; > - reg = <0>; > + port { > }; > }; > -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Tue, May 8, 2018 at 3:18 PM, Boris Brezillon <boris.brezillon@bootlin.com> wrote: > On Tue, 8 May 2018 08:59:25 -0500 > Rob Herring <robh@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@f0030000/hlcdc-display-controller: graph node has single child node 'port@0', #address-cells/#size-cells are not necessary >> Warning (graph_child_address): /ahb/apb/hlcdc@f0030000/hlcdc-display-controller/port@0: graph node has single child node 'endpoint', #address-cells/#size-cells are not necessary >> Warning (graph_child_address): /ahb/apb/isi@f0034000/port: graph node has single child node 'endpoint', #address-cells/#size-cells are not necessary >> Warning (graph_child_address): /panel/port@0: graph node has single child node 'endpoint@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 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Tue, 8 May 2018 22:18:19 +0200 Boris Brezillon <boris.brezillon@bootlin.com> wrote: > On Tue, 8 May 2018 08:59:25 -0500 > Rob Herring <robh@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@f0030000/hlcdc-display-controller: graph node has single child node 'port@0', #address-cells/#size-cells are not necessary > > Warning (graph_child_address): /ahb/apb/hlcdc@f0030000/hlcdc-display-controller/port@0: graph node has single child node 'endpoint', #address-cells/#size-cells are not necessary > > Warning (graph_child_address): /ahb/apb/isi@f0034000/port: graph node has single child node 'endpoint', #address-cells/#size-cells are not necessary > > Warning (graph_child_address): /panel/port@0: graph node has single child node 'endpoint@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. > > [1]https://elixir.bootlin.com/linux/v4.17-rc3/source/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_output.c#L41 > I can prepare patches containing the following changes, but I need to test them first. To be honest, I still don't see the problem with the "single child having a reg" case. Sure, it's not required, but it's also not an invalid representation. Also note that, depending on the board, we'll have to define addresses in endpoints if there's more than one endpoint, which IMO makes things even harder to follow, because in some cases endpoints will be numbered and in the others they won't. --->8--- diff --git a/Documentation/devicetree/bindings/display/atmel/hlcdc-dc.txt b/Documentation/devicetree/bindings/display/atmel/hlcdc-dc.txt index 82f2acb3d374..bc01c431d624 100644 --- a/Documentation/devicetree/bindings/display/atmel/hlcdc-dc.txt +++ b/Documentation/devicetree/bindings/display/atmel/hlcdc-dc.txt @@ -7,13 +7,12 @@ Required properties: - compatible: value should be "atmel,hlcdc-display-controller" - pinctrl-names: the pin control state names. Should contain "default". - pinctrl-0: should contain the default pinctrl states. - - #address-cells: should be set to 1. - - #size-cells: should be set to 0. Required children nodes: - Children nodes are encoding available output ports and their connections - to external devices using the OF graph reprensentation (see ../graph.txt). - At least one port node is required. + The port node represent the RGB/DPI output and can contain 0 to N endpoints + which encode connections to devices present on the RGB/DPI bus. + These connections are represented using the OF graph representation (see + ../graph.txt). Example: @@ -28,16 +27,9 @@ Example: compatible = "atmel,hlcdc-display-controller"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb888>; - #address-cells = <1>; - #size-cells = <0>; - port@0 { - #address-cells = <1>; - #size-cells = <0>; - reg = <0>; - - hlcdc_panel_output: endpoint@0 { - reg = <0>; + port { + hlcdc_panel_output: endpoint { remote-endpoint = <&panel_input>; }; }; diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_output.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_output.c index 8db51fb131db..0dc8f124a95e 100644 --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_output.c +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_output.c @@ -38,7 +38,7 @@ static int atmel_hlcdc_attach_endpoint(struct drm_device *dev, int endpoint) struct drm_bridge *bridge; int ret; - ret = drm_of_find_panel_or_bridge(dev->dev->of_node, 0, endpoint, + ret = drm_of_find_panel_or_bridge(dev->dev->of_node, -1, endpoint, &panel, &bridge); if (ret) return ret; @@ -86,5 +86,10 @@ int atmel_hlcdc_create_outputs(struct drm_device *dev) if (ret == -ENODEV && endpoint) return 0; - return ret; + /* + * If there's only one endpoint, the reg field will not be specified + * and no specific ID will be attached to this endpoint. Try with + * endpoint = -1 to handle this case. + */ + return atmel_hlcdc_attach_endpoint(dev, -1); } -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Tue, 8 May 2018 15:41:51 -0500 Rob Herring <robh@kernel.org> wrote: > On Tue, May 8, 2018 at 3:18 PM, Boris Brezillon > <boris.brezillon@bootlin.com> wrote: > > On Tue, 8 May 2018 08:59:25 -0500 > > Rob Herring <robh@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@f0030000/hlcdc-display-controller: graph node has single child node 'port@0', #address-cells/#size-cells are not necessary > >> Warning (graph_child_address): /ahb/apb/hlcdc@f0030000/hlcdc-display-controller/port@0: graph node has single child node 'endpoint', #address-cells/#size-cells are not necessary > >> Warning (graph_child_address): /ahb/apb/isi@f0034000/port: graph node has single child node 'endpoint', #address-cells/#size-cells are not necessary > >> Warning (graph_child_address): /panel/port@0: graph node has single child node 'endpoint@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. Oh, you're right, I didn't check the of_graph_parse_endpoint() code. > > Ports should be separate data streams. Can the hlcdc have more than 1 > data stream (I think I checked that)? Yes, there's only one port. > 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). True. > 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. The reg and unit-address were present in the endpoint nodes (maybe not in all dts though). AFAICT, the problem is more that the port only has a single child, and dtc complains that such nodes should not have a reg prop. -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Tue, 8 May 2018 08:59:25 -0500 Rob Herring <robh@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@f0030000/hlcdc-display-controller: graph node has single child node 'port@0', #address-cells/#size-cells are not necessary > Warning (graph_child_address): /ahb/apb/hlcdc@f0030000/hlcdc-display-controller/port@0: graph node has single child node 'endpoint', #address-cells/#size-cells are not necessary > Warning (graph_child_address): /ahb/apb/isi@f0034000/port: graph node has single child node 'endpoint', #address-cells/#size-cells are not necessary > Warning (graph_child_address): /panel/port@0: graph node has single child node 'endpoint@0', #address-cells/#size-cells are not necessary > > Cc: Nicolas Ferre <nicolas.ferre@microchip.com> > Cc: Alexandre Belloni <alexandre.belloni@bootlin.com> > Signed-off-by: Rob Herring <robh@kernel.org> > --- > arch/arm/boot/dts/at91-sama5d4_ma5d4evk.dts | 15 ++++----------- > arch/arm/boot/dts/at91sam9g45.dtsi | 2 -- > arch/arm/boot/dts/at91sam9n12.dtsi | 8 +------- > arch/arm/boot/dts/at91sam9n12ek.dts | 14 ++++---------- > arch/arm/boot/dts/at91sam9x5_lcd.dtsi | 7 +------ > arch/arm/boot/dts/at91sam9x5dm.dtsi | 13 ++++--------- > arch/arm/boot/dts/sama5d3.dtsi | 2 -- > arch/arm/boot/dts/sama5d3_lcd.dtsi | 8 +------- > arch/arm/boot/dts/sama5d4.dtsi | 8 +------- For the hlcdc changes Reviewed-by: Boris Brezillon <boris.brezillon@bootlin.com> I'll update the DT bindinds doc accordingly. Thanks, Boris > 9 files changed, 16 insertions(+), 61 deletions(-) > > diff --git a/arch/arm/boot/dts/at91-sama5d4_ma5d4evk.dts b/arch/arm/boot/dts/at91-sama5d4_ma5d4evk.dts > index fe05aaa7ac87..72c3b077fb46 100644 > --- a/arch/arm/boot/dts/at91-sama5d4_ma5d4evk.dts > +++ b/arch/arm/boot/dts/at91-sama5d4_ma5d4evk.dts > @@ -49,9 +49,8 @@ > pinctrl-names = "default"; > pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb888>; > > - port@0 { > - hlcdc_panel_output: endpoint@0 { > - reg = <0>; > + port { > + hlcdc_panel_output: endpoint { > remote-endpoint = <&panel_input>; > }; > }; > @@ -144,16 +143,10 @@ > /* Actually Ampire 800480R2 */ > compatible = "foxlink,fl500wvr00-a0t", "simple-panel"; > backlight = <&backlight>; > - #address-cells = <1>; > - #size-cells = <0>; > status = "okay"; > > - port@0 { > - #address-cells = <1>; > - #size-cells = <0>; > - > - panel_input: endpoint@0 { > - reg = <0>; > + port { > + panel_input: endpoint { > remote-endpoint = <&hlcdc_panel_output>; > }; > }; > diff --git a/arch/arm/boot/dts/at91sam9g45.dtsi b/arch/arm/boot/dts/at91sam9g45.dtsi > index 1ee25a475be8..36729e3f2899 100644 > --- a/arch/arm/boot/dts/at91sam9g45.dtsi > +++ b/arch/arm/boot/dts/at91sam9g45.dtsi > @@ -1114,8 +1114,6 @@ > clock-names = "isi_clk"; > status = "disabled"; > port { > - #address-cells = <1>; > - #size-cells = <0>; > }; > }; > > diff --git a/arch/arm/boot/dts/at91sam9n12.dtsi b/arch/arm/boot/dts/at91sam9n12.dtsi > index 37cb81f457b5..a071fccb729b 100644 > --- a/arch/arm/boot/dts/at91sam9n12.dtsi > +++ b/arch/arm/boot/dts/at91sam9n12.dtsi > @@ -475,13 +475,7 @@ > > hlcdc-display-controller { > compatible = "atmel,hlcdc-display-controller"; > - #address-cells = <1>; > - #size-cells = <0>; > - > - port@0 { > - #address-cells = <1>; > - #size-cells = <0>; > - reg = <0>; > + port { > }; > }; > > diff --git a/arch/arm/boot/dts/at91sam9n12ek.dts b/arch/arm/boot/dts/at91sam9n12ek.dts > index c43095c5cb5c..eb0c1e11fa4d 100644 > --- a/arch/arm/boot/dts/at91sam9n12ek.dts > +++ b/arch/arm/boot/dts/at91sam9n12ek.dts > @@ -134,9 +134,8 @@ > pinctrl-names = "default"; > pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb888>; > > - port@0 { > - hlcdc_panel_output: endpoint@0 { > - reg = <0>; > + port { > + hlcdc_panel_output: endpoint { > remote-endpoint = <&panel_input>; > }; > }; > @@ -246,13 +245,8 @@ > #size-cells = <0>; > status = "okay"; > > - port@0 { > - reg = <0>; > - #address-cells = <1>; > - #size-cells = <0>; > - > - panel_input: endpoint@0 { > - reg = <0>; > + port { > + panel_input: endpoint { > remote-endpoint = <&hlcdc_panel_output>; > }; > }; > diff --git a/arch/arm/boot/dts/at91sam9x5_lcd.dtsi b/arch/arm/boot/dts/at91sam9x5_lcd.dtsi > index 1629db9dd563..e243dff67a67 100644 > --- a/arch/arm/boot/dts/at91sam9x5_lcd.dtsi > +++ b/arch/arm/boot/dts/at91sam9x5_lcd.dtsi > @@ -23,13 +23,8 @@ > > hlcdc-display-controller { > compatible = "atmel,hlcdc-display-controller"; > - #address-cells = <1>; > - #size-cells = <0>; > > - port@0 { > - #address-cells = <1>; > - #size-cells = <0>; > - reg = <0>; > + port { > }; > }; > > diff --git a/arch/arm/boot/dts/at91sam9x5dm.dtsi b/arch/arm/boot/dts/at91sam9x5dm.dtsi > index 34c089fe0bc0..5aea8fd09ad6 100644 > --- a/arch/arm/boot/dts/at91sam9x5dm.dtsi > +++ b/arch/arm/boot/dts/at91sam9x5dm.dtsi > @@ -29,9 +29,8 @@ > pinctrl-names = "default"; > pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb888>; > > - port@0 { > - hlcdc_panel_output: endpoint@0 { > - reg = <0>; > + port { > + hlcdc_panel_output: endpoint { > remote-endpoint = <&panel_input>; > }; > }; > @@ -80,12 +79,8 @@ > #size-cells = <0>; > status = "disabled"; > > - port@0 { > - #address-cells = <1>; > - #size-cells = <0>; > - > - panel_input: endpoint@0 { > - reg = <0>; > + port { > + panel_input: endpoint { > remote-endpoint = <&hlcdc_panel_output>; > }; > }; > diff --git a/arch/arm/boot/dts/sama5d3.dtsi b/arch/arm/boot/dts/sama5d3.dtsi > index eae5e1ee9cd8..2c51042e1f6b 100644 > --- a/arch/arm/boot/dts/sama5d3.dtsi > +++ b/arch/arm/boot/dts/sama5d3.dtsi > @@ -239,8 +239,6 @@ > clock-names = "isi_clk"; > status = "disabled"; > port { > - #address-cells = <1>; > - #size-cells = <0>; > }; > }; > > diff --git a/arch/arm/boot/dts/sama5d3_lcd.dtsi b/arch/arm/boot/dts/sama5d3_lcd.dtsi > index be7cfefc6c31..2d042d7ec531 100644 > --- a/arch/arm/boot/dts/sama5d3_lcd.dtsi > +++ b/arch/arm/boot/dts/sama5d3_lcd.dtsi > @@ -23,13 +23,7 @@ > > hlcdc-display-controller { > compatible = "atmel,hlcdc-display-controller"; > - #address-cells = <1>; > - #size-cells = <0>; > - > - port@0 { > - #address-cells = <1>; > - #size-cells = <0>; > - reg = <0>; > + port { > }; > }; > > diff --git a/arch/arm/boot/dts/sama5d4.dtsi b/arch/arm/boot/dts/sama5d4.dtsi > index 0cf9beddd556..90d7b64915ec 100644 > --- a/arch/arm/boot/dts/sama5d4.dtsi > +++ b/arch/arm/boot/dts/sama5d4.dtsi > @@ -333,13 +333,7 @@ > > hlcdc-display-controller { > compatible = "atmel,hlcdc-display-controller"; > - #address-cells = <1>; > - #size-cells = <0>; > - > - port@0 { > - #address-cells = <1>; > - #size-cells = <0>; > - reg = <0>; > + port { > }; > }; > -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/arch/arm/boot/dts/at91-sama5d4_ma5d4evk.dts b/arch/arm/boot/dts/at91-sama5d4_ma5d4evk.dts index fe05aaa7ac87..72c3b077fb46 100644 --- a/arch/arm/boot/dts/at91-sama5d4_ma5d4evk.dts +++ b/arch/arm/boot/dts/at91-sama5d4_ma5d4evk.dts @@ -49,9 +49,8 @@ pinctrl-names = "default"; pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb888>; - port@0 { - hlcdc_panel_output: endpoint@0 { - reg = <0>; + port { + hlcdc_panel_output: endpoint { remote-endpoint = <&panel_input>; }; }; @@ -144,16 +143,10 @@ /* Actually Ampire 800480R2 */ compatible = "foxlink,fl500wvr00-a0t", "simple-panel"; backlight = <&backlight>; - #address-cells = <1>; - #size-cells = <0>; status = "okay"; - port@0 { - #address-cells = <1>; - #size-cells = <0>; - - panel_input: endpoint@0 { - reg = <0>; + port { + panel_input: endpoint { remote-endpoint = <&hlcdc_panel_output>; }; }; diff --git a/arch/arm/boot/dts/at91sam9g45.dtsi b/arch/arm/boot/dts/at91sam9g45.dtsi index 1ee25a475be8..36729e3f2899 100644 --- a/arch/arm/boot/dts/at91sam9g45.dtsi +++ b/arch/arm/boot/dts/at91sam9g45.dtsi @@ -1114,8 +1114,6 @@ clock-names = "isi_clk"; status = "disabled"; port { - #address-cells = <1>; - #size-cells = <0>; }; }; diff --git a/arch/arm/boot/dts/at91sam9n12.dtsi b/arch/arm/boot/dts/at91sam9n12.dtsi index 37cb81f457b5..a071fccb729b 100644 --- a/arch/arm/boot/dts/at91sam9n12.dtsi +++ b/arch/arm/boot/dts/at91sam9n12.dtsi @@ -475,13 +475,7 @@ hlcdc-display-controller { compatible = "atmel,hlcdc-display-controller"; - #address-cells = <1>; - #size-cells = <0>; - - port@0 { - #address-cells = <1>; - #size-cells = <0>; - reg = <0>; + port { }; }; diff --git a/arch/arm/boot/dts/at91sam9n12ek.dts b/arch/arm/boot/dts/at91sam9n12ek.dts index c43095c5cb5c..eb0c1e11fa4d 100644 --- a/arch/arm/boot/dts/at91sam9n12ek.dts +++ b/arch/arm/boot/dts/at91sam9n12ek.dts @@ -134,9 +134,8 @@ pinctrl-names = "default"; pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb888>; - port@0 { - hlcdc_panel_output: endpoint@0 { - reg = <0>; + port { + hlcdc_panel_output: endpoint { remote-endpoint = <&panel_input>; }; }; @@ -246,13 +245,8 @@ #size-cells = <0>; status = "okay"; - port@0 { - reg = <0>; - #address-cells = <1>; - #size-cells = <0>; - - panel_input: endpoint@0 { - reg = <0>; + port { + panel_input: endpoint { remote-endpoint = <&hlcdc_panel_output>; }; }; diff --git a/arch/arm/boot/dts/at91sam9x5_lcd.dtsi b/arch/arm/boot/dts/at91sam9x5_lcd.dtsi index 1629db9dd563..e243dff67a67 100644 --- a/arch/arm/boot/dts/at91sam9x5_lcd.dtsi +++ b/arch/arm/boot/dts/at91sam9x5_lcd.dtsi @@ -23,13 +23,8 @@ hlcdc-display-controller { compatible = "atmel,hlcdc-display-controller"; - #address-cells = <1>; - #size-cells = <0>; - port@0 { - #address-cells = <1>; - #size-cells = <0>; - reg = <0>; + port { }; }; diff --git a/arch/arm/boot/dts/at91sam9x5dm.dtsi b/arch/arm/boot/dts/at91sam9x5dm.dtsi index 34c089fe0bc0..5aea8fd09ad6 100644 --- a/arch/arm/boot/dts/at91sam9x5dm.dtsi +++ b/arch/arm/boot/dts/at91sam9x5dm.dtsi @@ -29,9 +29,8 @@ pinctrl-names = "default"; pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb888>; - port@0 { - hlcdc_panel_output: endpoint@0 { - reg = <0>; + port { + hlcdc_panel_output: endpoint { remote-endpoint = <&panel_input>; }; }; @@ -80,12 +79,8 @@ #size-cells = <0>; status = "disabled"; - port@0 { - #address-cells = <1>; - #size-cells = <0>; - - panel_input: endpoint@0 { - reg = <0>; + port { + panel_input: endpoint { remote-endpoint = <&hlcdc_panel_output>; }; }; diff --git a/arch/arm/boot/dts/sama5d3.dtsi b/arch/arm/boot/dts/sama5d3.dtsi index eae5e1ee9cd8..2c51042e1f6b 100644 --- a/arch/arm/boot/dts/sama5d3.dtsi +++ b/arch/arm/boot/dts/sama5d3.dtsi @@ -239,8 +239,6 @@ clock-names = "isi_clk"; status = "disabled"; port { - #address-cells = <1>; - #size-cells = <0>; }; }; diff --git a/arch/arm/boot/dts/sama5d3_lcd.dtsi b/arch/arm/boot/dts/sama5d3_lcd.dtsi index be7cfefc6c31..2d042d7ec531 100644 --- a/arch/arm/boot/dts/sama5d3_lcd.dtsi +++ b/arch/arm/boot/dts/sama5d3_lcd.dtsi @@ -23,13 +23,7 @@ hlcdc-display-controller { compatible = "atmel,hlcdc-display-controller"; - #address-cells = <1>; - #size-cells = <0>; - - port@0 { - #address-cells = <1>; - #size-cells = <0>; - reg = <0>; + port { }; }; diff --git a/arch/arm/boot/dts/sama5d4.dtsi b/arch/arm/boot/dts/sama5d4.dtsi index 0cf9beddd556..90d7b64915ec 100644 --- a/arch/arm/boot/dts/sama5d4.dtsi +++ b/arch/arm/boot/dts/sama5d4.dtsi @@ -333,13 +333,7 @@ hlcdc-display-controller { compatible = "atmel,hlcdc-display-controller"; - #address-cells = <1>; - #size-cells = <0>; - - port@0 { - #address-cells = <1>; - #size-cells = <0>; - reg = <0>; + port { }; };
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@f0030000/hlcdc-display-controller: graph node has single child node 'port@0', #address-cells/#size-cells are not necessary Warning (graph_child_address): /ahb/apb/hlcdc@f0030000/hlcdc-display-controller/port@0: graph node has single child node 'endpoint', #address-cells/#size-cells are not necessary Warning (graph_child_address): /ahb/apb/isi@f0034000/port: graph node has single child node 'endpoint', #address-cells/#size-cells are not necessary Warning (graph_child_address): /panel/port@0: graph node has single child node 'endpoint@0', #address-cells/#size-cells are not necessary Cc: Nicolas Ferre <nicolas.ferre@microchip.com> Cc: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Rob Herring <robh@kernel.org> --- arch/arm/boot/dts/at91-sama5d4_ma5d4evk.dts | 15 ++++----------- arch/arm/boot/dts/at91sam9g45.dtsi | 2 -- arch/arm/boot/dts/at91sam9n12.dtsi | 8 +------- arch/arm/boot/dts/at91sam9n12ek.dts | 14 ++++---------- arch/arm/boot/dts/at91sam9x5_lcd.dtsi | 7 +------ arch/arm/boot/dts/at91sam9x5dm.dtsi | 13 ++++--------- arch/arm/boot/dts/sama5d3.dtsi | 2 -- arch/arm/boot/dts/sama5d3_lcd.dtsi | 8 +------- arch/arm/boot/dts/sama5d4.dtsi | 8 +------- 9 files changed, 16 insertions(+), 61 deletions(-) -- 2.17.0 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html