[PATCH] dt-bindings: samsung: soc: match preferred naming in entire compatible

Rob Herring robh at kernel.org
Thu Sep 29 14:28:45 PDT 2022


On Mon, Sep 26, 2022 at 02:47:57PM +0200, Krzysztof Kozlowski wrote:
> Compatible is a string-array, therefore the "select" should look for
> anything containing Samsung SoC part.  This allows to validate cases
> like:
>  - "samsung,exynos5250-gsc", "samsung,exynos5-gsc"
>  - "samsung,exynos5250-pmu", "syscon"
>  - "tesla,fsd-mct", "samsung,exynos4210-mct"
> 
> Since Tesla FSD builts on top of Exynos blocks, add an adidtional
> pattern for it.
> 
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski at linaro.org>
> ---
>  .../bindings/arm/samsung/samsung-soc.yaml     | 26 +++++++++++++++----
>  1 file changed, 21 insertions(+), 5 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/arm/samsung/samsung-soc.yaml b/Documentation/devicetree/bindings/arm/samsung/samsung-soc.yaml
> index 653f85997643..bb1fdc205b44 100644
> --- a/Documentation/devicetree/bindings/arm/samsung/samsung-soc.yaml
> +++ b/Documentation/devicetree/bindings/arm/samsung/samsung-soc.yaml
> @@ -18,17 +18,33 @@ description: |
>      samsung,exynos5433-cmu-isp
>  
>  select:
> -  properties:
> -    compatible:
> -      pattern: "^samsung,.*(s3c|s5pv|exynos)[0-9a-z]+.*$"
> +  allOf:
> +    - properties:
> +        $nodename:
> +          pattern: '^[a-z]'

Why do you need this?

> +    - properties:
> +        compatible:
> +          contains:
> +            pattern: "^samsung,.*(s3c|s5pv|exynos)[0-9a-z]+.*$"
>    required:
>      - compatible
>  
>  properties:
>    compatible:
>      oneOf:
> -      - description: Preferred naming style for compatibles of SoC components
> -        pattern: "^samsung,(s3c|s5pv|exynos|exynosautov)[0-9]+-.*$"
> +      - description: Preferred naming style for compatibles of S3C/S5P/Exynos SoC components
> +        minItems: 1
> +        items:
> +          - pattern: "^samsung,(s3c|s5pv|exynos|exynosautov)[0-9]+-.*$"
> +          - {}
> +          - {}

Wouldn't just contains be fine here too:

contains:
  pattern: "^samsung,(s3c|s5pv|exynos|exynosautov)[0-9]+-.*$"

> +
> +      - description: Preferred naming style for compatibles of Tesla FSD SoC components
> +        minItems: 1
> +        items:
> +          - pattern: "^tesla,fsd-.*$"
> +          - {}
> +          - {}
>  
>        # Legacy compatibles with wild-cards - list cannot grow with new bindings:
>        - enum:
> -- 
> 2.34.1
> 
> 



More information about the linux-arm-kernel mailing list