Re: [PATCH 2/2] dt-bindings: display: Add Loongson display controller

From: Krzysztof Kozlowski
Date: Wed Feb 22 2023 - 13:30:45 EST


On 22/02/2023 17:55, suijingfeng wrote:
> This patch add a trival DT usages for loongson display controller found
> in LS2k1000 SoC.

Trivial yet so many things to improve... if you only started from recent
kernel tree (since you Cced wrong address, I doubt you did) and bindings
you would avoid half of these comments.

>
> Signed-off-by: suijingfeng <suijingfeng@xxxxxxxxxxx>
> ---
> .../loongson/loongson,display-controller.yaml | 58 +++++++++++++++++++
> 1 file changed, 58 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/display/loongson/loongson,display-controller.yaml
>
> diff --git a/Documentation/devicetree/bindings/display/loongson/loongson,display-controller.yaml b/Documentation/devicetree/bindings/display/loongson/loongson,display-controller.yaml
> new file mode 100644
> index 000000000000..98b78f449a80
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/loongson/loongson,display-controller.yaml

Filename based on compatible, so "loongson,ls2k1000-dc.yaml"

> @@ -0,0 +1,58 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/display/loongson/loongson,display-controller.yaml#


> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Loongson Display Controller Device Tree Bindings

Drop "Device Tree Bindings"

> +
> +maintainers:
> + - Sui Jingfeng <suijingfeng@xxxxxxxxxxx>
> +
> +description: |+

Drop |+

> +

No need for blank line. Do you see it anywhere else in the bindings?

> + The display controller is a PCI device, it has two display pipe.
> + For the DC in LS2K1000 each way has a DVO output interface which
> + provide RGB888 signals, vertical & horizontal synchronisations
> + and the pixel clock. Each CRTC is able to support 1920x1080@60Hz,
> + the maximum resolution is 2048x2048 according to the hardware spec.
> +
> +properties:
> + $nodename:
> + pattern: "^display-controller@[0-9a-f],[0-9a-f]$"

Drop nodename.

> +
> + compatible:
> + oneOf:

Drop oneOf

> + - items:

and items...

> + - enum:
> + - loongson,ls2k1000-dc
> + reg:
> + maxItems: 1
> +
> + interrupts:
> + maxItems: 1
> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/interrupt-controller/irq.h>
> + bus {
> +

Drop blank line.

> + #address-cells = <3>;
> + #size-cells = <2>;
> + #interrupt-cells = <2>;

Why do you need interrupt-cells?

> +
> + display-controller@6,0 {
> + compatible = "loongson,ls2k1000-dc";
> + reg = <0x3000 0x0 0x0 0x0 0x0>;> + interrupts = <28 IRQ_TYPE_LEVEL_LOW>;
> + };
> + };
> +
> +...

Best regards,
Krzysztof