Re: [PATCH v6 2/8] Documentation: of: Document graph bindings

Laurent Pinchart
2014-03-10T11:36:12Z

Hi Philipp,

On Monday 10 March 2014 10:28:10 Philipp Zabel wrote:
> Hi Grant,
>
> Am Freitag, den 07.03.2014, 18:27 +0000 schrieb Grant Likely:
> > On Wed, 5 Mar 2014 10:20:36 +0100, Philipp Zabel wrote:
> > > The device tree graph bindings as used by V4L2 and documented in
> > > Documentation/device-tree/bindings/media/video-interfaces.txt contain
> > > generic parts that are not media specific but could be useful for any
> > > subsystem with data flow between multiple devices. This document
> > > describes the generic bindings.
> > >
> > > Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
> >
> > See my comments on the previous version. My concerns are the handling of
> > the optional 'ports' node and the usage of reverse links.
>
> would this change address your concern about the reverse links? As the
> preexisting video-interfaces.txt bindings mandate the reverse links, I
> worry about introducing a second, subtly different binding. It should be
> noted somewhere in video-interfaces.txt that the reverse links are
> deprecated for the but still supported by the code for backwards
> compatibility.

I'm very much against removing the reverse links. Without them the graph will
become much more complex to parse. You can try to convince me, but for now I'm
afraid it's a NACK.

> diff --git a/Documentation/devicetree/bindings/graph.txt
> b/Documentation/devicetree/bindings/graph.txt index 1a69c07..eb6cae5 100644
> --- a/Documentation/devicetree/bindings/graph.txt
> +++ b/Documentation/devicetree/bindings/graph.txt
> @@ -87,12 +87,13 @@ device {
> Links between endpoints
> -----------------------
>
> -Each endpoint should contain a 'remote-endpoint' phandle property that
> points -to the corresponding endpoint in the port of the remote device. In
> turn, the -remote endpoint should contain a 'remote-endpoint' property. If
> it has one, -it must not point to another than the local endpoint. Two
> endpoints with their -'remote-endpoint' phandles pointing at each other
> form a link between the -containing ports.
> +Two endpoint nodes form a link between the two ports they are contained in
> +if one contains a 'remote-endpoint' phandle property, pointing to the other
> +endpoint. The endpoint pointed to should not contain a 'remote-endpoint'
> +property itself. Which direction the phandle should point in depends on
> the +device type. In general, links should be pointing outwards from
> central +devices that provide DMA memory interfaces, such as display
> controller, +video capture interface, or serial digital audio interface
> cores.
>
> device-1 {
> port {
> @@ -104,8 +105,8 @@ device-1 {
>
> device-2 {
> port {
> - device_2_input: endpoint {
> - remote-endpoint = <&device_1_output>;
> + device_2_input: endpoint { };
> + /* no remote-endpoint, this endpoint is pointed at
> */ };
> };
> };

--
Regards,

Laurent Pinchart