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 (mailing list archive)
State New, archived
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:
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
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
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:
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
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: