Thank you for your contribution! Sashiko AI review found 1 potential issue(s) 
to consider:
- [Medium] dt-bindings: loose compatible schema allows undocumented strings and 
omits IC fallback
--

commit df95ba2aa44d396fccc370e5b084b78edf5052e8
Author: Luca Weiss <[email protected]>

dt-bindings: display: panel: Add Novatek NT37705

This commit adds a new device tree binding for the Novatek NT37705, a
display driver IC for AMOLED DSI panels. It also describes the BOE
BJ631JHM-T71-D900 panel used in the Fairphone Gen. 6.

Link: https://lore.kernel.org/r/[email protected]/

> diff --git 
> a/Documentation/devicetree/bindings/display/panel/novatek,nt37705.yaml 
> b/Documentation/devicetree/bindings/display/panel/novatek,nt37705.yaml
> new file mode 100644
> index 0000000000000..1c796599f6fce
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/panel/novatek,nt37705.yaml
> @@ -0,0 +1,72 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/display/panel/novatek,nt37705.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Novatek NT37705-based DSI display panels
> +
> +maintainers:
> +  - Luca Weiss <[email protected]>
> +
> +description:
> +  The Novatek NT37705 is a generic DSI Panel IC used to control AMOLED 
> panels.
> +
> +allOf:
> +  - $ref: panel-common.yaml#
> +
> +properties:
> +  compatible:
> +    contains:
> +      const: boe,bj631jhm-t71-d900

[Severity: Medium]
Will this loose containment check in properties.compatible allow undocumented
strings to silently pass validation? 

In dt-schema, the contains keyword only verifies that at least one item
matches the constraint, without restricting the presence, length, or content
of additional items in the array. Consequently, a poorly crafted device tree
node with compatible = "undocumented-garbage", "boe,bj631jhm-t71-d900"; will
silently pass validation, defeating strict schema checking.

Specific panel strings should be constrained with an exact match (e.g., const
or enum), or an items array if fallbacks are used.

Additionally, standard practice for generic panel ICs is to include a generic
fallback string. Should the novatek,nt37705 fallback be included here?
For example: 
items: [ enum: [ boe,bj631jhm-t71-d900 ], const: novatek,nt37705 ]

The generic string novatek,nt37705 mentioned in the schema description is
completely missing from the schema definition and the example.

[ ... ]

-- 
Sashiko AI review · 
https://sashiko.dev/#/patchset/[email protected]?part=1

Reply via email to