lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <9d65aa4f-3db9-c7e1-f41c-41db8877372e@linaro.org>
Date:   Fri, 30 Sep 2022 09:07:58 +0200
From:   Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>
To:     Rob Herring <robh@...nel.org>
Cc:     Alim Akhtar <alim.akhtar@...sung.com>,
        linux-arm-kernel@...ts.infradead.org,
        linux-samsung-soc@...r.kernel.org, devicetree@...r.kernel.org,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH] dt-bindings: samsung: soc: match preferred naming in
 entire compatible

On 29/09/2022 23:28, Rob Herring wrote:
> 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@...aro.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?

Because otherwise I am matching top-level board compatible, which
obviously do not fall into my patterns.

> 
>> +    - 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]+-.*$"

Somehow it does not work like it should - nodes with wrong compatibles
pass. I tested with fake compatibles like:
samsung,cmu-exynos5433-cmu-top
samsung,exynos54xx-cmu-cpif

Best regards,
Krzysztof

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ