Hi Krzysztof
If you leave the top-level definition without any constraints and you forget to include all your compatibles in allOf:if:then, then you end up without constraints. Consider:
(snip)
properties: compatible: enum: - foo - bar
clock-names: description: anything
if: prop: compat: enum: - foo then: prop: clock-names: - ahb - sclk
What clocks are valid for bar?
For simple cases this might be obvious, for more complex this is easy to miss. So the recommended syntax is with constraints at the top.
I can understand we want to avoid the future miss. But I did it on v2 patch and you NACKed it. Thus people confused. That is the reason why above strange style was created. And it is already using "else", your concern never happen ?
Thank you for your help !!
Best regards --- Kuninori Morimoto