Message ID | 20230908165120.730867-8-gatien.chevallier@foss.st.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Herbert Xu |
Headers | show |
Series | hwrng: stm32: support STM32MP13x platforms | expand |
On Fri, Sep 08, 2023 at 06:51:17PM +0200, Gatien Chevallier wrote: > If st,rng-lock-conf is set, the RNG configuration in RNG_CR, RNG_HTCR > and RNG_NSCR will be locked. It is supported starting from the RNG > version present in the STM32MP13 This should be squashed into the prior binding patch. > > Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> > --- > .../devicetree/bindings/rng/st,stm32-rng.yaml | 14 ++++++++++++++ > 1 file changed, 14 insertions(+) > > diff --git a/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml b/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml > index 59abdc85a9fb..0055f14a8e3f 100644 > --- a/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml > +++ b/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml > @@ -37,6 +37,20 @@ required: > - reg > - clocks > > +allOf: > + - if: > + properties: > + compatible: > + contains: > + enum: > + - st,stm32mp13-rng > + then: > + properties: > + st,rng-lock-conf: > + type: boolean > + description: If set, the RNG configuration in RNG_CR, RNG_HTCR and > + RNG_NSCR will be locked. Define the property at the top-level and then restrict its presence in a if/then schema. > + > additionalProperties: false Did you test this property is allowed? No, because additionalProperties won't work with properties defined in if/then schemas. > > examples: > -- > 2.25.1 >
Hello Rob, On 9/11/23 17:09, Rob Herring wrote: > On Fri, Sep 08, 2023 at 06:51:17PM +0200, Gatien Chevallier wrote: >> If st,rng-lock-conf is set, the RNG configuration in RNG_CR, RNG_HTCR >> and RNG_NSCR will be locked. It is supported starting from the RNG >> version present in the STM32MP13 > > This should be squashed into the prior binding patch. > Ok, I will squash both for V3. >> >> Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> >> --- >> .../devicetree/bindings/rng/st,stm32-rng.yaml | 14 ++++++++++++++ >> 1 file changed, 14 insertions(+) >> >> diff --git a/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml b/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml >> index 59abdc85a9fb..0055f14a8e3f 100644 >> --- a/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml >> +++ b/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml >> @@ -37,6 +37,20 @@ required: >> - reg >> - clocks >> >> +allOf: >> + - if: >> + properties: >> + compatible: >> + contains: >> + enum: >> + - st,stm32mp13-rng >> + then: >> + properties: >> + st,rng-lock-conf: >> + type: boolean >> + description: If set, the RNG configuration in RNG_CR, RNG_HTCR and >> + RNG_NSCR will be locked. > > Define the property at the top-level and then restrict its presence in > a if/then schema. > Ok, will change in V3. Thanks for your input >> + >> additionalProperties: false > > Did you test this property is allowed? No, because additionalProperties > won't work with properties defined in if/then schemas. > >> >> examples: >> -- >> 2.25.1 >> Best regards, Gatien
Hello Rob, On 9/11/23 17:09, Rob Herring wrote: > On Fri, Sep 08, 2023 at 06:51:17PM +0200, Gatien Chevallier wrote: >> If st,rng-lock-conf is set, the RNG configuration in RNG_CR, RNG_HTCR >> and RNG_NSCR will be locked. It is supported starting from the RNG >> version present in the STM32MP13 > > This should be squashed into the prior binding patch. > >> >> Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> >> --- >> .../devicetree/bindings/rng/st,stm32-rng.yaml | 14 ++++++++++++++ >> 1 file changed, 14 insertions(+) >> >> diff --git a/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml b/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml >> index 59abdc85a9fb..0055f14a8e3f 100644 >> --- a/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml >> +++ b/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml >> @@ -37,6 +37,20 @@ required: >> - reg >> - clocks >> >> +allOf: >> + - if: >> + properties: >> + compatible: >> + contains: >> + enum: >> + - st,stm32mp13-rng >> + then: >> + properties: >> + st,rng-lock-conf: >> + type: boolean >> + description: If set, the RNG configuration in RNG_CR, RNG_HTCR and >> + RNG_NSCR will be locked. > > Define the property at the top-level and then restrict its presence in > a if/then schema. > Can you please point me to an example of such case. I can't find a way to define at the top-level the property then restrict it to specific compatibles. Else I'd change additionalProperties :false to unevaluatedProperties: false so the definition of the property is seen. Best regards, Gatien >> + >> additionalProperties: false > > Did you test this property is allowed? No, because additionalProperties > won't work with properties defined in if/then schemas. > >> >> examples: >> -- >> 2.25.1 >>
On 15/09/2023 11:28, Gatien CHEVALLIER wrote: > Hello Rob, > > On 9/11/23 17:09, Rob Herring wrote: >> On Fri, Sep 08, 2023 at 06:51:17PM +0200, Gatien Chevallier wrote: >>> If st,rng-lock-conf is set, the RNG configuration in RNG_CR, RNG_HTCR >>> and RNG_NSCR will be locked. It is supported starting from the RNG >>> version present in the STM32MP13 >> >> This should be squashed into the prior binding patch. >> >>> >>> Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> >>> --- >>> .../devicetree/bindings/rng/st,stm32-rng.yaml | 14 ++++++++++++++ >>> 1 file changed, 14 insertions(+) >>> >>> diff --git a/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml b/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml >>> index 59abdc85a9fb..0055f14a8e3f 100644 >>> --- a/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml >>> +++ b/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml >>> @@ -37,6 +37,20 @@ required: >>> - reg >>> - clocks >>> >>> +allOf: >>> + - if: >>> + properties: >>> + compatible: >>> + contains: >>> + enum: >>> + - st,stm32mp13-rng >>> + then: >>> + properties: >>> + st,rng-lock-conf: >>> + type: boolean >>> + description: If set, the RNG configuration in RNG_CR, RNG_HTCR and >>> + RNG_NSCR will be locked. >> >> Define the property at the top-level and then restrict its presence in >> a if/then schema. >> > > Can you please point me to an example of such case. I can't find a way > to define at the top-level the property then restrict it to specific > compatibles. You can check my slides from the talks about not reaching 10 iterations of bindings patches. Or open example-schema (this should be your starting point): https://elixir.bootlin.com/linux/v5.19/source/Documentation/devicetree/bindings/example-schema.yaml#L212 Also: https://elixir.bootlin.com/linux/v6.4-rc7/source/Documentation/devicetree/bindings/net/qcom,ipa.yaml#L174 > > Else I'd change > additionalProperties :false to > unevaluatedProperties: false > > so the definition of the property is seen. No, why? Definition is there when you move it to the top as asked. Best regards, Krzysztof
On 9/15/23 12:33, Krzysztof Kozlowski wrote: > On 15/09/2023 11:28, Gatien CHEVALLIER wrote: >> Hello Rob, >> >> On 9/11/23 17:09, Rob Herring wrote: >>> On Fri, Sep 08, 2023 at 06:51:17PM +0200, Gatien Chevallier wrote: >>>> If st,rng-lock-conf is set, the RNG configuration in RNG_CR, RNG_HTCR >>>> and RNG_NSCR will be locked. It is supported starting from the RNG >>>> version present in the STM32MP13 >>> >>> This should be squashed into the prior binding patch. >>> >>>> >>>> Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> >>>> --- >>>> .../devicetree/bindings/rng/st,stm32-rng.yaml | 14 ++++++++++++++ >>>> 1 file changed, 14 insertions(+) >>>> >>>> diff --git a/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml b/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml >>>> index 59abdc85a9fb..0055f14a8e3f 100644 >>>> --- a/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml >>>> +++ b/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml >>>> @@ -37,6 +37,20 @@ required: >>>> - reg >>>> - clocks >>>> >>>> +allOf: >>>> + - if: >>>> + properties: >>>> + compatible: >>>> + contains: >>>> + enum: >>>> + - st,stm32mp13-rng >>>> + then: >>>> + properties: >>>> + st,rng-lock-conf: >>>> + type: boolean >>>> + description: If set, the RNG configuration in RNG_CR, RNG_HTCR and >>>> + RNG_NSCR will be locked. >>> >>> Define the property at the top-level and then restrict its presence in >>> a if/then schema. >>> >> >> Can you please point me to an example of such case. I can't find a way >> to define at the top-level the property then restrict it to specific >> compatibles. > > You can check my slides from the talks about not reaching 10 iterations > of bindings patches. > > Or open example-schema (this should be your starting point): > https://elixir.bootlin.com/linux/v5.19/source/Documentation/devicetree/bindings/example-schema.yaml#L212 > > > Also: > https://elixir.bootlin.com/linux/v6.4-rc7/source/Documentation/devicetree/bindings/net/qcom,ipa.yaml#L174 Thank you for the links, it really helped me out. >> >> Else I'd change >> additionalProperties :false to >> unevaluatedProperties: false >> >> so the definition of the property is seen. > > No, why? Definition is there when you move it to the top as asked. > > Best regards, > Krzysztof >
diff --git a/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml b/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml index 59abdc85a9fb..0055f14a8e3f 100644 --- a/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml +++ b/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml @@ -37,6 +37,20 @@ required: - reg - clocks +allOf: + - if: + properties: + compatible: + contains: + enum: + - st,stm32mp13-rng + then: + properties: + st,rng-lock-conf: + type: boolean + description: If set, the RNG configuration in RNG_CR, RNG_HTCR and + RNG_NSCR will be locked. + additionalProperties: false examples:
If st,rng-lock-conf is set, the RNG configuration in RNG_CR, RNG_HTCR and RNG_NSCR will be locked. It is supported starting from the RNG version present in the STM32MP13 Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> --- .../devicetree/bindings/rng/st,stm32-rng.yaml | 14 ++++++++++++++ 1 file changed, 14 insertions(+)