On Wed, Apr 19, 2023 at 10:56:55AM +0200, Krzysztof Kozlowski wrote: > On 19/04/2023 00:26, Rob Herring wrote: > > On Sun, Apr 16, 2023 at 05:39:29PM +0200, Krzysztof Kozlowski wrote: > >> Few panel bindings for dual-link connections just type "ports: true", > >> which does not enforce any type. Add common definition of ports, so the > >> type will be fixed. > >> > >> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> > >> > >> --- > >> > >> Cc: Konrad Dybcio <konrad.dybcio@xxxxxxxxxx> > >> --- > >> .../bindings/display/panel/panel-common.yaml | 16 ++++++++++++++++ > >> 1 file changed, 16 insertions(+) > >> > >> diff --git a/Documentation/devicetree/bindings/display/panel/panel-common.yaml b/Documentation/devicetree/bindings/display/panel/panel-common.yaml > >> index 5b38dc89cb21..ad62d34e6fa3 100644 > >> --- a/Documentation/devicetree/bindings/display/panel/panel-common.yaml > >> +++ b/Documentation/devicetree/bindings/display/panel/panel-common.yaml > >> @@ -70,6 +70,16 @@ properties: > >> port: > >> $ref: /schemas/graph.yaml#/properties/port > >> > >> + # For dual-link connections > >> + ports: > >> + $ref: /schemas/graph.yaml#/properties/ports > >> + patternProperties: > >> + "^port@[0-9a-f]+$": > >> + $ref: /schemas/graph.yaml#/$defs/port-base > > > > This allows any undocumented property. > > Yes, which I hope the device schema (using this panel-common) will > narrow with additionalProperties: false. > > I can make it explicit: additionalProperties: true. > > Otherwise, how do I allow custom properties like: > Documentation/devicetree/bindings/display/panel/advantech,idk-2121wr.yaml > > > > >> + > >> + required: > >> + - port@0 > >> + > > > > I don't think this should be added here because users must define what > > each port is. With it here, we're going to validate the nodes twice as > > well. Same can be said for 'port' though. It can't be extended though. > > So you propose to drop entire "ports" here and expect every panel schema > to define it instead? Only those with more than 1 port or extra port/endpoint properties. If neither of those are true, then they can use just 'port'. Otherwise, all those panel bindings already have to define the port nodes already. Rob