[PATCH] ASoC: dt-bindings: renesas: adjust to R-Car Gen4
Geert Uytterhoeven
geert at linux-m68k.org
Mon Feb 6 07:49:57 CET 2023
Hi Morimoto-san,
On Mon, Feb 6, 2023 at 4:03 AM Kuninori Morimoto
<kuninori.morimoto.gx at renesas.com> wrote:
> > > The "required" with if - then - else on "rcar_sound,ssi" is
> > > always match to "then" even though it is checking "renesas,rcar_sound-gen4" or not.
> > > Why ?? Is it my fault ??
>
> I'm not sure why but some "if - then - else" doesn't work correctly for me.
> One concern is that it is under "patternProperties".
> Non "patternProperties" case is works well.
>
> This is just sample case.
> In below case, only gen4 case requires "foo/bar" if my understanding was correct.
> But I get error "foo/bar are required" on *all* compatible.
>
> It is my fault ?
>
> --- sample -----------
> rcar_sound,ssi:
> ...
> patternProperties:
> "^ssi-[0-9]$":
> ...
> allOf:
> - if:
> properties:
> compatible:
> contains:
> => const: renesas,rcar_sound-gen4
> then:
> required:
> => - foo
> => - bar
As it is under patternProperties, the "if: properties" applies to the
properties under the ssi node, where you do not have any compatible
value (and definitely not the "renesas,rcar_sound-gen4" value, which
belongs to the _parent_ of the ssi node).
So I think the only solution is to move the "if" up, and thus duplicate
the ssi node description:
if:
properties:
compatible:
contains:
const: renesas,rcar_sound-gen4
then:
patternProperties:
"^ssi-[0-9]$":
...
else:
patternProperties:
"^ssi-[0-9]$":
...
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
More information about the Alsa-devel
mailing list