Re: [PATCH v6 04/12] dt-bindings: display/msm: move common DPU properties to dpu-common.yaml

Dmitry Baryshkov
2022-09-07T21:13:26Z

On Wed, 7 Sept 2022 at 22:59, Rob Herring <robh@kernel.org> wrote:
>
> On Thu, Sep 01, 2022 at 01:23:04PM +0300, Dmitry Baryshkov wrote:
> > Move properties common to all DPU DT nodes to the dpu-common.yaml.
> >
> > Note, this removes description of individual DPU port@ nodes. However
> > such definitions add no additional value. The reg values do not
> > correspond to hardware INTF indices. The driver discovers and binds
> > these ports not paying any care for the order of these items. Thus just
> > leave the reference to graph.yaml#/properties/ports and the description.
> >
> > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> > ---
> > .../bindings/display/msm/dpu-common.yaml | 44 ++++++++++++++++++
> > .../bindings/display/msm/dpu-msm8998.yaml | 46 ++-----------------
> > .../bindings/display/msm/dpu-qcm2290.yaml | 41 ++---------------
> > .../bindings/display/msm/dpu-sc7180.yaml | 45 ++----------------
> > .../bindings/display/msm/dpu-sc7280.yaml | 45 ++----------------
> > .../bindings/display/msm/dpu-sdm845.yaml | 46 ++-----------------
> > 6 files changed, 64 insertions(+), 203 deletions(-)
> > create mode 100644 Documentation/devicetree/bindings/display/msm/dpu-common.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/display/msm/dpu-common.yaml b/Documentation/devicetree/bindings/display/msm/dpu-common.yaml
> > new file mode 100644
> > index 000000000000..bf5764e9932b
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/display/msm/dpu-common.yaml
> > @@ -0,0 +1,44 @@
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/display/msm/dpu-common.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Qualcomm Display DPU dt properties (common properties)
> > +
> > +maintainers:
> > + - Krishna Manikandan <quic_mkrishn@quicinc.com>
> > + - Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> > + - Rob Clark <robdclark@gmail.com>
> > +
> > +description: |
> > + Common properties for QCom DPU display controller.
> > +
> > +properties:
> > + interrupts:
> > + maxItems: 1
> > +
> > + power-domains:
> > + maxItems: 1
> > +
> > + operating-points-v2: true
> > + opp-table:
> > + type: object
> > +
> > + ports:
> > + $ref: /schemas/graph.yaml#/properties/ports
> > + description: |
> > + Contains the list of output ports from DPU device. These ports
> > + connect to interfaces that are external to the DPU hardware,
> > + such as DSI, DP etc.
>
> Haven't we been over this already?
>
> You have to define 'port' nodes or else anything is allowed in them
> (and endpoint nodes). If you want to define them as pattern, then fine.
> But you must have a ref to graph.yaml#/properties/port.

Last time you asked to do this, I did a check. Adding any additional
property results in a schema error. And this is logical.
graph.yaml#/properties/ports already limits the node properties. I
thus do not see a need to define port@[0-9a-f]+$. Did I miss anything?

>
> > +
> > +required:
> > + - compatible
> > + - reg
> > + - reg-names
> > + - clocks
> > + - interrupts
> > + - power-domains
> > + - operating-points-v2
> > + - ports
> > +
> > +additionalProperties: true
> > diff --git a/Documentation/devicetree/bindings/display/msm/dpu-msm8998.yaml b/Documentation/devicetree/bindings/display/msm/dpu-msm8998.yaml
> > index 253665c693e6..0d6743eabd27 100644
> > --- a/Documentation/devicetree/bindings/display/msm/dpu-msm8998.yaml
> > +++ b/Documentation/devicetree/bindings/display/msm/dpu-msm8998.yaml
> > @@ -62,7 +62,10 @@ patternProperties:
> > "^display-controller@[0-9a-f]+$":
> > type: object
> > description: Node containing the properties of DPU.
> > - additionalProperties: false
> > + unevaluatedProperties: false
> > +
> > + allOf:
> > + - $ref: /schemas/display/msm/dpu-common.yaml#
>
> Don't need allOf here. (and elsewhere)

Ack

>
> Rob

--
With best wishes
Dmitry