Re: [PATCH v4 1/4] dt-bindings: lcdif: Add endpoint bus-width property

[email protected]
Newsgroups dev.linux.lists.imx,org.freedesktop.lists.dri-devel,org.kernel.vger.linux-devicetree
Message-ID <[email protected]>
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] The newly added endpoint constraints (including `bus-width`, `video-interfaces.yaml` inclusion, and `unevaluatedProperties: false`) are applied using an exact string match for `endpoint`. This silently bypasses validation for indexed nodes like `endpoint@1` or `endpoint@2`, which are actively used by multi-endpoint configurations.
--

--- Patch [1]: [PATCH v4 1/4] dt-bindings: lcdif: Add endpoint bus-width property ---
commit e694f44914c3b2ddcaf755532413ffea7e676ef7
Author: Francesco Dolcini <[email protected]>

dt-bindings: lcdif: Add endpoint bus-width property

The DPI output of the LCD interface can be configured with a bus width
of 16, 18, or 24 bits. This introduces a bus-width property to the output
endpoint to specify the number of parallel RGB bits connected.

> diff --git a/Documentation/devicetree/bindings/display/fsl,lcdif.yaml b/Documentation/devicetree/bindings/display/fsl,lcdif.yaml
> index 2dd0411ec6516..89cea0c14cf1d 100644
> --- a/Documentation/devicetree/bindings/display/fsl,lcdif.yaml
> +++ b/Documentation/devicetree/bindings/display/fsl,lcdif.yaml
> @@ -68,9 +68,19 @@ properties:
>      maxItems: 1
>  
>    port:
> -    $ref: /schemas/graph.yaml#/properties/port
> +    $ref: /schemas/graph.yaml#/$defs/port-base
> +    unevaluatedProperties: false
>      description: The LCDIF output port
>  
> +    properties:
> +      endpoint:

[Severity: Medium]
Will this strict property match cause a regression in validation for indexed
endpoints?

By using an exact string match for endpoint under the properties block, this
schema appears to silently bypass validation for multi-endpoint configurations
that use indexed nodes like endpoint@1 or endpoint@2.

Because these indexed nodes are matched and evaluated by the
^endpoint(@[0-9a-f]+)?$ pattern from /schemas/graph.yaml#/$defs/port-base,
they will satisfy the parent port node's unevaluatedProperties: false check.
However, any invalid properties or incorrect bus-width values inside those
indexed endpoint nodes will be ignored by this new schema block.

Should this use patternProperties with "^endpoint(@[0-9a-f]+)?$" instead of
an exact properties match to ensure all endpoints are properly validated?

> +        $ref: /schemas/media/video-interfaces.yaml
> +        unevaluatedProperties: false
> +
> +        properties:
> +          bus-width:
> +            enum: [ 16, 18, 24 ]
> +
>    display:
>      $ref: /schemas/types.yaml#/definitions/phandle
>      description: phandle to display panel

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/[email protected]?part=1
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.