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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20211025154945.6vbp7ru5qvvpe34r@gilmour>
Date:   Mon, 25 Oct 2021 17:49:45 +0200
From:   Maxime Ripard <maxime@...no.tech>
To:     Samuel Holland <samuel@...lland.org>
Cc:     Chen-Yu Tsai <wens@...e.org>,
        Jernej Skrabec <jernej.skrabec@...il.com>,
        Rob Herring <robh+dt@...nel.org>,
        Michael Turquette <mturquette@...libre.com>,
        Stephen Boyd <sboyd@...nel.org>,
        Alessandro Zummo <a.zummo@...ertech.it>,
        Alexandre Belloni <alexandre.belloni@...tlin.com>,
        devicetree@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
        linux-clk@...r.kernel.org, linux-rtc@...r.kernel.org,
        linux-sunxi@...ts.linux.dev, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 2/9] dt-bindings: rtc: sun6i: Add H616, R329, and D1
 support

Hi,

On Tue, Sep 28, 2021 at 03:03:28AM -0500, Samuel Holland wrote:
> These new RTC variants all have a single alarm, like the R40 variant.
> 
> For the new SoCs, start requiring a complete list of input clocks. The
> H616 has three required clocks. The R329 also has three required clocks
> (but one is different), plus an optional crystal oscillator input. The
> D1 RTC is identical to the one in the R329.
> 
> And since these new SoCs will have a well-defined output clock order as
> well, they do not need the clock-output-names property.
> 
> Signed-off-by: Samuel Holland <samuel@...lland.org>
> ---
> Changes since v1:
>   - Properly update the DT binding clocks and clock-names properties.
> 
>  .../bindings/rtc/allwinner,sun6i-a31-rtc.yaml | 72 ++++++++++++++++++-
>  include/dt-bindings/clock/sun6i-rtc.h         | 10 +++
>  2 files changed, 79 insertions(+), 3 deletions(-)
>  create mode 100644 include/dt-bindings/clock/sun6i-rtc.h
> 
> diff --git a/Documentation/devicetree/bindings/rtc/allwinner,sun6i-a31-rtc.yaml b/Documentation/devicetree/bindings/rtc/allwinner,sun6i-a31-rtc.yaml
> index a88d46ffb457..b971510a5ae7 100644
> --- a/Documentation/devicetree/bindings/rtc/allwinner,sun6i-a31-rtc.yaml
> +++ b/Documentation/devicetree/bindings/rtc/allwinner,sun6i-a31-rtc.yaml
> @@ -24,9 +24,14 @@ properties:
>            - allwinner,sun8i-v3-rtc
>            - allwinner,sun50i-h5-rtc
>            - allwinner,sun50i-h6-rtc
> +          - allwinner,sun50i-h616-rtc
> +          - allwinner,sun50i-r329-rtc
>        - items:
>            - const: allwinner,sun50i-a64-rtc
>            - const: allwinner,sun8i-h3-rtc
> +      - items:
> +          - const: allwinner,sun20i-d1-rtc
> +          - const: allwinner,sun50i-r329-rtc
>  
>    reg:
>      maxItems: 1
> @@ -38,7 +43,10 @@ properties:
>        - description: RTC Alarm 1
>  
>    clocks:
> -    maxItems: 1
> +    minItems: 1
> +
> +  clock-names:
> +    minItems: 1
>  
>    clock-output-names:
>      minItems: 1
> @@ -98,7 +106,66 @@ allOf:
>        properties:
>          compatible:
>            contains:
> -            const: allwinner,sun8i-r40-rtc
> +            const: allwinner,sun50i-h616-rtc
> +
> +    then:
> +      clocks:
> +        minItems: 3
> +        maxItems: 3

If clocks is set to minItems: 1, you'll still get a failure.

The way the schemas are checked is a bit weird, but it's not checked
once with the sum of all the schemas, they are all checked separately.

So the schema under the then here will be valid, but the global check
property will fail because it expects 1 item.

You'll need minItems: 1, maxItems: 4 for the global clocks and
clock-names.

Maxime

Download attachment "signature.asc" of type "application/pgp-signature" (229 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ