Re: [PATCH 07/10] dt-bindings: rng: add st,rng-lock-conf

From: Gatien CHEVALLIER
Date: Fri Sep 15 2023 - 08:37:58 EST



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@xxxxxxxxxxx>
---
.../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