diff mbox series

media: dt-bindings: media: renesas,csi2: Node port@0 is not mandatory

Message ID 20210413155346.2471776-1-niklas.soderlund+renesas@ragnatech.se
State New
Headers show
Series media: dt-bindings: media: renesas,csi2: Node port@0 is not mandatory | expand

Commit Message

Niklas Söderlund April 13, 2021, 3:53 p.m. UTC
When converting the binding to use the video-interfaces schemas the node
port@0 was incorrectly made a mandatory property.

The port@0 node describes which CSI-2 transmitter the R-Car CSI-2
receiver is connected too. Not all boards connects all CSI-2 receivers
to an CSI-2 transmitter.

Fixes: 066a94e28a23e04c ("media: dt-bindings: media: Use graph and video-interfaces schemas")
Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
---
 Documentation/devicetree/bindings/media/renesas,csi2.yaml | 1 -
 1 file changed, 1 deletion(-)

Comments

Laurent Pinchart April 15, 2021, 7:09 p.m. UTC | #1
Hi Niklas,

Thank you for the patch.

On Tue, Apr 13, 2021 at 05:53:46PM +0200, Niklas Söderlund wrote:
> When converting the binding to use the video-interfaces schemas the node

> port@0 was incorrectly made a mandatory property.

> 

> The port@0 node describes which CSI-2 transmitter the R-Car CSI-2

> receiver is connected too. Not all boards connects all CSI-2 receivers

> to an CSI-2 transmitter.


Ports are properties of the device, they should always be there,
regardless of connections. It's the endpoints that describe connections.

> Fixes: 066a94e28a23e04c ("media: dt-bindings: media: Use graph and video-interfaces schemas")

> Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>

> ---

>  Documentation/devicetree/bindings/media/renesas,csi2.yaml | 1 -

>  1 file changed, 1 deletion(-)

> 

> diff --git a/Documentation/devicetree/bindings/media/renesas,csi2.yaml b/Documentation/devicetree/bindings/media/renesas,csi2.yaml

> index 20396f1be9993461..395484807dd5ed47 100644

> --- a/Documentation/devicetree/bindings/media/renesas,csi2.yaml

> +++ b/Documentation/devicetree/bindings/media/renesas,csi2.yaml

> @@ -78,7 +78,6 @@ properties:

>            modules connected the CSI-2 receiver.

>  

>      required:

> -      - port@0

>        - port@1

>  

>  required:


-- 
Regards,

Laurent Pinchart
Niklas Söderlund April 16, 2021, 8:05 a.m. UTC | #2
Hi Laurent,

Thanks for your comments.

On 2021-04-15 22:09:12 +0300, Laurent Pinchart wrote:
> Hi Niklas,

> 

> Thank you for the patch.

> 

> On Tue, Apr 13, 2021 at 05:53:46PM +0200, Niklas Söderlund wrote:

> > When converting the binding to use the video-interfaces schemas the node

> > port@0 was incorrectly made a mandatory property.

> > 

> > The port@0 node describes which CSI-2 transmitter the R-Car CSI-2

> > receiver is connected too. Not all boards connects all CSI-2 receivers

> > to an CSI-2 transmitter.

> 

> Ports are properties of the device, they should always be there,

> regardless of connections. It's the endpoints that describe connections.


I understand what you are saying and if that is the way things are done 
I'm fine with it. As this was brought to light by a recent change in the 
bindings I wish to understand if this was always the case the bindings 
have been wrong all along or not.

I only ask as because if we keep the port@0 mandatory there will be 
board files that needs to add empty port@0 nodes as we know they are not 
used. And as the media bindings are already quiet large for some Renesas 
boards I want to understand this before spewing out a lot of patches 
adding empty nodes ;-)

> 

> > Fixes: 066a94e28a23e04c ("media: dt-bindings: media: Use graph and video-interfaces schemas")

> > Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>

> > ---

> >  Documentation/devicetree/bindings/media/renesas,csi2.yaml | 1 -

> >  1 file changed, 1 deletion(-)

> > 

> > diff --git a/Documentation/devicetree/bindings/media/renesas,csi2.yaml b/Documentation/devicetree/bindings/media/renesas,csi2.yaml

> > index 20396f1be9993461..395484807dd5ed47 100644

> > --- a/Documentation/devicetree/bindings/media/renesas,csi2.yaml

> > +++ b/Documentation/devicetree/bindings/media/renesas,csi2.yaml

> > @@ -78,7 +78,6 @@ properties:

> >            modules connected the CSI-2 receiver.

> >  

> >      required:

> > -      - port@0

> >        - port@1

> >  

> >  required:

> 

> -- 

> Regards,

> 

> Laurent Pinchart


-- 
Regards,
Niklas Söderlund
Geert Uytterhoeven April 19, 2021, 9:06 a.m. UTC | #3
Hi Niklas,

On Fri, Apr 16, 2021 at 10:08 AM Niklas Söderlund
<niklas.soderlund+renesas@ragnatech.se> wrote:
> On 2021-04-15 22:09:12 +0300, Laurent Pinchart wrote:

> > On Tue, Apr 13, 2021 at 05:53:46PM +0200, Niklas Söderlund wrote:

> > > When converting the binding to use the video-interfaces schemas the node

> > > port@0 was incorrectly made a mandatory property.

> > >

> > > The port@0 node describes which CSI-2 transmitter the R-Car CSI-2

> > > receiver is connected too. Not all boards connects all CSI-2 receivers

> > > to an CSI-2 transmitter.

> >

> > Ports are properties of the device, they should always be there,

> > regardless of connections. It's the endpoints that describe connections.

>

> I understand what you are saying and if that is the way things are done

> I'm fine with it. As this was brought to light by a recent change in the

> bindings I wish to understand if this was always the case the bindings

> have been wrong all along or not.

>

> I only ask as because if we keep the port@0 mandatory there will be

> board files that needs to add empty port@0 nodes as we know they are not


s/board/SoC .dtsi/

> used. And as the media bindings are already quiet large for some Renesas

> boards I want to understand this before spewing out a lot of patches

> adding empty nodes ;-)

>

> >

> > > Fixes: 066a94e28a23e04c ("media: dt-bindings: media: Use graph and video-interfaces schemas")

> > > Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>

> > > ---

> > >  Documentation/devicetree/bindings/media/renesas,csi2.yaml | 1 -

> > >  1 file changed, 1 deletion(-)

> > >

> > > diff --git a/Documentation/devicetree/bindings/media/renesas,csi2.yaml b/Documentation/devicetree/bindings/media/renesas,csi2.yaml

> > > index 20396f1be9993461..395484807dd5ed47 100644

> > > --- a/Documentation/devicetree/bindings/media/renesas,csi2.yaml

> > > +++ b/Documentation/devicetree/bindings/media/renesas,csi2.yaml

> > > @@ -78,7 +78,6 @@ properties:

> > >            modules connected the CSI-2 receiver.

> > >

> > >      required:

> > > -      - port@0

> > >        - port@1

> > >

> > >  required:


Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
Laurent Pinchart April 21, 2021, 9:43 a.m. UTC | #4
Hi Niklas,

On Fri, Apr 16, 2021 at 10:05:46AM +0200, Niklas Söderlund wrote:
> On 2021-04-15 22:09:12 +0300, Laurent Pinchart wrote:

> > On Tue, Apr 13, 2021 at 05:53:46PM +0200, Niklas Söderlund wrote:

> > > When converting the binding to use the video-interfaces schemas the node

> > > port@0 was incorrectly made a mandatory property.

> > > 

> > > The port@0 node describes which CSI-2 transmitter the R-Car CSI-2

> > > receiver is connected too. Not all boards connects all CSI-2 receivers

> > > to an CSI-2 transmitter.

> > 

> > Ports are properties of the device, they should always be there,

> > regardless of connections. It's the endpoints that describe connections.

> 

> I understand what you are saying and if that is the way things are done 

> I'm fine with it. As this was brought to light by a recent change in the 

> bindings I wish to understand if this was always the case the bindings 

> have been wrong all along or not.

> 

> I only ask as because if we keep the port@0 mandatory there will be 

> board files that needs to add empty port@0 nodes as we know they are not 

> used. And as the media bindings are already quiet large for some Renesas 

> boards I want to understand this before spewing out a lot of patches 

> adding empty nodes ;-)


In my opinion port@0 should be in the SoC .dtsi, not in the board .dts.
Individual boards can then add endpoints when the CSI-2 receiver is
connected. Would that make sense for you ?

> > > Fixes: 066a94e28a23e04c ("media: dt-bindings: media: Use graph and video-interfaces schemas")

> > > Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>

> > > ---

> > >  Documentation/devicetree/bindings/media/renesas,csi2.yaml | 1 -

> > >  1 file changed, 1 deletion(-)

> > > 

> > > diff --git a/Documentation/devicetree/bindings/media/renesas,csi2.yaml b/Documentation/devicetree/bindings/media/renesas,csi2.yaml

> > > index 20396f1be9993461..395484807dd5ed47 100644

> > > --- a/Documentation/devicetree/bindings/media/renesas,csi2.yaml

> > > +++ b/Documentation/devicetree/bindings/media/renesas,csi2.yaml

> > > @@ -78,7 +78,6 @@ properties:

> > >            modules connected the CSI-2 receiver.

> > >  

> > >      required:

> > > -      - port@0

> > >        - port@1

> > >  

> > >  required:


-- 
Regards,

Laurent Pinchart
Niklas Söderlund April 21, 2021, 12:31 p.m. UTC | #5
Hi Laurent and Geert,

On 2021-04-21 12:43:39 +0300, Laurent Pinchart wrote:
> Hi Niklas,
> 
> On Fri, Apr 16, 2021 at 10:05:46AM +0200, Niklas Söderlund wrote:
> > On 2021-04-15 22:09:12 +0300, Laurent Pinchart wrote:
> > > On Tue, Apr 13, 2021 at 05:53:46PM +0200, Niklas Söderlund wrote:
> > > > When converting the binding to use the video-interfaces schemas the node
> > > > port@0 was incorrectly made a mandatory property.
> > > > 
> > > > The port@0 node describes which CSI-2 transmitter the R-Car CSI-2
> > > > receiver is connected too. Not all boards connects all CSI-2 receivers
> > > > to an CSI-2 transmitter.
> > > 
> > > Ports are properties of the device, they should always be there,
> > > regardless of connections. It's the endpoints that describe connections.
> > 
> > I understand what you are saying and if that is the way things are done 
> > I'm fine with it. As this was brought to light by a recent change in the 
> > bindings I wish to understand if this was always the case the bindings 
> > have been wrong all along or not.
> > 
> > I only ask as because if we keep the port@0 mandatory there will be 
> > board files that needs to add empty port@0 nodes as we know they are not 
> > used. And as the media bindings are already quiet large for some Renesas 
> > boards I want to understand this before spewing out a lot of patches 
> > adding empty nodes ;-)
> 
> In my opinion port@0 should be in the SoC .dtsi, not in the board .dts.
> Individual boards can then add endpoints when the CSI-2 receiver is
> connected. Would that make sense for you ?

I think this is a case of pragmatism vs being technically correct, and 
of course 'technically correct' being the best kind of correct ;-)

Any of the two options works for me as long as we fix the DT validation 
errors that currently exists. Laurent seems to prefers keeping the 
port@0 mandatory and adding empty port@0 nodes to dtsi files.

@Geert: Does this work for you?

> 
> > > > Fixes: 066a94e28a23e04c ("media: dt-bindings: media: Use graph and video-interfaces schemas")
> > > > Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
> > > > ---
> > > >  Documentation/devicetree/bindings/media/renesas,csi2.yaml | 1 -
> > > >  1 file changed, 1 deletion(-)
> > > > 
> > > > diff --git a/Documentation/devicetree/bindings/media/renesas,csi2.yaml b/Documentation/devicetree/bindings/media/renesas,csi2.yaml
> > > > index 20396f1be9993461..395484807dd5ed47 100644
> > > > --- a/Documentation/devicetree/bindings/media/renesas,csi2.yaml
> > > > +++ b/Documentation/devicetree/bindings/media/renesas,csi2.yaml
> > > > @@ -78,7 +78,6 @@ properties:
> > > >            modules connected the CSI-2 receiver.
> > > >  
> > > >      required:
> > > > -      - port@0
> > > >        - port@1
> > > >  
> > > >  required:
> 
> -- 
> Regards,
> 
> Laurent Pinchart
Geert Uytterhoeven April 21, 2021, 12:38 p.m. UTC | #6
Hi Niklas,

On Wed, Apr 21, 2021 at 2:31 PM Niklas Söderlund
<niklas.soderlund+renesas@ragnatech.se> wrote:
> On 2021-04-21 12:43:39 +0300, Laurent Pinchart wrote:

> > On Fri, Apr 16, 2021 at 10:05:46AM +0200, Niklas Söderlund wrote:

> > > On 2021-04-15 22:09:12 +0300, Laurent Pinchart wrote:

> > > > On Tue, Apr 13, 2021 at 05:53:46PM +0200, Niklas Söderlund wrote:

> > > > > When converting the binding to use the video-interfaces schemas the node

> > > > > port@0 was incorrectly made a mandatory property.

> > > > >

> > > > > The port@0 node describes which CSI-2 transmitter the R-Car CSI-2

> > > > > receiver is connected too. Not all boards connects all CSI-2 receivers

> > > > > to an CSI-2 transmitter.

> > > >

> > > > Ports are properties of the device, they should always be there,

> > > > regardless of connections. It's the endpoints that describe connections.

> > >

> > > I understand what you are saying and if that is the way things are done

> > > I'm fine with it. As this was brought to light by a recent change in the

> > > bindings I wish to understand if this was always the case the bindings

> > > have been wrong all along or not.

> > >

> > > I only ask as because if we keep the port@0 mandatory there will be

> > > board files that needs to add empty port@0 nodes as we know they are not

> > > used. And as the media bindings are already quiet large for some Renesas

> > > boards I want to understand this before spewing out a lot of patches

> > > adding empty nodes ;-)

> >

> > In my opinion port@0 should be in the SoC .dtsi, not in the board .dts.

> > Individual boards can then add endpoints when the CSI-2 receiver is

> > connected. Would that make sense for you ?

>

> I think this is a case of pragmatism vs being technically correct, and

> of course 'technically correct' being the best kind of correct ;-)

>

> Any of the two options works for me as long as we fix the DT validation

> errors that currently exists. Laurent seems to prefers keeping the

> port@0 mandatory and adding empty port@0 nodes to dtsi files.

>

> @Geert: Does this work for you?


Yes, that's fine for me. Thanks!

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/media/renesas,csi2.yaml b/Documentation/devicetree/bindings/media/renesas,csi2.yaml
index 20396f1be9993461..395484807dd5ed47 100644
--- a/Documentation/devicetree/bindings/media/renesas,csi2.yaml
+++ b/Documentation/devicetree/bindings/media/renesas,csi2.yaml
@@ -78,7 +78,6 @@  properties:
           modules connected the CSI-2 receiver.
 
     required:
-      - port@0
       - port@1
 
 required: