Re: [PATCH v2 1/6] dt-bindings: Remove unused compatible strings

Rob Herring
2019-07-09T15:46:52Z

On Mon, Jul 8, 2019 at 9:18 PM Paul Cercueil <paul@crapouillou.net> wrote:
>
>
>
> Le lun. 8 juil. 2019 à 22:04, Rob Herring <robh@kernel.org> a écrit :
> > On Fri, Jun 07, 2019 at 05:44:05PM +0200, Paul Cercueil wrote:
> >> Right now none of the Ingenic-based boards probe this driver from
> >> devicetree. This driver defined three compatible strings for the
> >> exact
> >> same behaviour. Before these strings are used, we can remove two of
> >> them.
> >>
> >> Signed-off-by: Paul Cercueil <paul@crapouillou.net>
> >> ---
> >>
> >> Notes:
> >> v2: Rebase on v5.2-rc3
> >>
> >> Documentation/devicetree/bindings/pwm/ingenic,jz47xx-pwm.txt | 5
> >> +----
> >> 1 file changed, 1 insertion(+), 4 deletions(-)
> >>
> >> diff --git
> >> a/Documentation/devicetree/bindings/pwm/ingenic,jz47xx-pwm.txt
> >> b/Documentation/devicetree/bindings/pwm/ingenic,jz47xx-pwm.txt
> >> index 7d9d3f90641b..493bec80d59b 100644
> >> --- a/Documentation/devicetree/bindings/pwm/ingenic,jz47xx-pwm.txt
> >> +++ b/Documentation/devicetree/bindings/pwm/ingenic,jz47xx-pwm.txt
> >> @@ -2,10 +2,7 @@ Ingenic JZ47xx PWM Controller
> >> =============================
> >>
> >> Required properties:
> >> -- compatible: One of:
> >> - * "ingenic,jz4740-pwm"
> >> - * "ingenic,jz4770-pwm"
> >> - * "ingenic,jz4780-pwm"
> >> +- compatible: Should be "ingenic,jz4740-pwm"
> >
> > Are you sure all 3 chips are exactly the same features and bugs?
>
> The hardware on these chips have tiny differences, but the current
> driver code works on all the SoCs.
>
>
> > The correct thing to do here generally is the 4770 and 4780 would also
> > have ingenic,jz4740-pwm as a fallback compatible. Then the driver can
> > match on that until you find some difference and can use the more
> > specific compatible.
>
> Why not just update the devicetree with the new compatible string when
> a difference is found?

Because dtb's should be part of the firmware/bootloader and can be
updated independently. Maybe you don't care on your platform, but
that's the preferred model for DT and what we follow. DTs live in the
kernel tree for convenience, but are independent from the kernel.

Rob