Hi Simon, On Wed, Aug 9, 2017 at 10:21 AM, Simon Horman <horms+renesas@xxxxxxxxxxxx> wrote: > commit d10bbd156926 ("gpio: rcar: add gen[123] fallback compatibility > strings") deprecated the generic compat string, renesas,gpio-rcar. After > further discussion this appears not to have been desirable as that compat > string is compatible with all R-Car SoCs supported in upstream. While "renesas,gpio-rcar" is treated as a GPIO controller on R-Car Gen1 SoCs, it can indeed be used on R-Car Gen2 and Gen3, with reduced functionality. In se this is compatible with the spirit of multiple compatible values. > This commit partially reverts that commit, and updates related > documentation and examples. > > Fixes: d10bbd156926 ("gpio: rcar: add gen[123] fallback compatibility strings") > Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> > --- > .../devicetree/bindings/gpio/renesas,gpio-rcar.txt | 18 ++++++++++++------ > 1 file changed, 12 insertions(+), 6 deletions(-) > > diff --git a/Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt b/Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt > index 48634b01f1bf..347d8ede2982 100644 > --- a/Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt > +++ b/Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt > @@ -16,11 +16,13 @@ Required Properties: > - "renesas,rcar-gen1-gpio": for a generic R-Car Gen1 GPIO controller. > - "renesas,rcar-gen2-gpio": for a generic R-Car Gen2 or RZ/G1 GPIO controller. > - "renesas,rcar-gen3-gpio": for a generic R-Car Gen3 GPIO controller. > - - "renesas,gpio-rcar": deprecated. > + - "renesas,gpio-rcar": for generic R-Car GPIO controller. > > - When compatible with the generic version nodes must list the > - SoC-specific version corresponding to the platform first followed by > - the generic version. > + Nodes should list all of the following that are compatible > + in this order: > + - A SoC-specific version > + - A generic R-Car generation version > + - The generic R-Car version The main objective of commit d10bbd156926 ("gpio: rcar: add gen[123] fallback compatibility strings") was avoiding the need to add more SoC-specific compatible values to the match table in the driver, when adding driver support for more R-Car and RZ/G SoCs. With this amendment, this objective is met at the expense of adding a third compatible value to each and every GPIO device node in R-Car .dtsi files :-( IMHO keeping "renesas,gpio-rcar" everywhere adds little value. The only exception might be running an old kernel on a new SoC, but that is ruled out for a few core components like clocks and PFC anyway. Of course the driver has to keep matching on the deprecated value, which is already the case without this amendment. > - reg: Base address and length of each memory resource used by the GPIO > controller hardware module. > @@ -50,7 +52,9 @@ interrupt-controller/interrupts.txt. > Example: R8A7779 (R-Car H1) GPIO controller nodes > > gpio0: gpio@ffc40000 { > - compatible = "renesas,gpio-r8a7779", "renesas,rcar-gen1-gpio"; > + compatible = "renesas,gpio-r8a7779", > + "renesas,rcar-gen1-gpio", > + "renesas,gpio-rcar"; Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx 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