Message ID | 20170611095219.22095-1-martin.blumenstingl@googlemail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 06/11/2017 11:52 AM, Martin Blumenstingl wrote: > The watchdog IP block on Meson8 and Meson8m2 is already supported by the > existing meson-wdt driver. Meson8 uses the same register bits as Meson6, > while the newer Meson8m2 SoC uses the same register bits as Meson8b. > > Currently watchdog support on Meson8 SoC already works because > meson8.dtsi simply uses the "amlogic,meson6-wdt" compatible. Adding a > separate compatible for Meson8 makes this more explicit though. > > Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> > --- > Documentation/devicetree/bindings/watchdog/meson-wdt.txt | 6 +++++- > drivers/watchdog/meson_wdt.c | 2 ++ > 2 files changed, 7 insertions(+), 1 deletion(-) > > diff --git a/Documentation/devicetree/bindings/watchdog/meson-wdt.txt b/Documentation/devicetree/bindings/watchdog/meson-wdt.txt > index ae70185d96e6..f2fbe1a39d31 100644 > --- a/Documentation/devicetree/bindings/watchdog/meson-wdt.txt > +++ b/Documentation/devicetree/bindings/watchdog/meson-wdt.txt > @@ -2,7 +2,11 @@ Meson SoCs Watchdog timer > > Required properties: > > -- compatible : should be "amlogic,meson6-wdt" or "amlogic,meson8b-wdt" > +- compatible : depending on the SoC this should be one of: > + "amlogic,meson6-wdt" > + "amlogic,meson8-wdt" > + "amlogic,meson8b-wdt" > + "amlogic,meson8m2-wdt" > - reg : Specifies base physical address and size of the registers. > > Example: > diff --git a/drivers/watchdog/meson_wdt.c b/drivers/watchdog/meson_wdt.c > index 491b9bf13d84..304274c67735 100644 > --- a/drivers/watchdog/meson_wdt.c > +++ b/drivers/watchdog/meson_wdt.c > @@ -155,7 +155,9 @@ static const struct watchdog_ops meson_wdt_ops = { > > static const struct of_device_id meson_wdt_dt_ids[] = { > { .compatible = "amlogic,meson6-wdt", .data = &meson6_wdt_data }, > + { .compatible = "amlogic,meson8-wdt", .data = &meson6_wdt_data }, > { .compatible = "amlogic,meson8b-wdt", .data = &meson8b_wdt_data }, > + { .compatible = "amlogic,meson8m2-wdt", .data = &meson8b_wdt_data }, > { /* sentinel */ } > }; > MODULE_DEVICE_TABLE(of, meson_wdt_dt_ids); > Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
On Sun, Jun 11, 2017 at 11:52:19AM +0200, Martin Blumenstingl wrote: > The watchdog IP block on Meson8 and Meson8m2 is already supported by the > existing meson-wdt driver. Meson8 uses the same register bits as Meson6, > while the newer Meson8m2 SoC uses the same register bits as Meson8b. > > Currently watchdog support on Meson8 SoC already works because > meson8.dtsi simply uses the "amlogic,meson6-wdt" compatible. Adding a > separate compatible for Meson8 makes this more explicit though. > > Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> Reviewed-by: Guenter Roeck <linux@roeck-us.net> In general, changes like this are not necessary, though. The dts file is supposed to reference both generic and specific compatible strings. Thanks, Guenter > --- > Documentation/devicetree/bindings/watchdog/meson-wdt.txt | 6 +++++- > drivers/watchdog/meson_wdt.c | 2 ++ > 2 files changed, 7 insertions(+), 1 deletion(-) > > diff --git a/Documentation/devicetree/bindings/watchdog/meson-wdt.txt b/Documentation/devicetree/bindings/watchdog/meson-wdt.txt > index ae70185d96e6..f2fbe1a39d31 100644 > --- a/Documentation/devicetree/bindings/watchdog/meson-wdt.txt > +++ b/Documentation/devicetree/bindings/watchdog/meson-wdt.txt > @@ -2,7 +2,11 @@ Meson SoCs Watchdog timer > > Required properties: > > -- compatible : should be "amlogic,meson6-wdt" or "amlogic,meson8b-wdt" > +- compatible : depending on the SoC this should be one of: > + "amlogic,meson6-wdt" > + "amlogic,meson8-wdt" > + "amlogic,meson8b-wdt" > + "amlogic,meson8m2-wdt" > - reg : Specifies base physical address and size of the registers. > > Example: > diff --git a/drivers/watchdog/meson_wdt.c b/drivers/watchdog/meson_wdt.c > index 491b9bf13d84..304274c67735 100644 > --- a/drivers/watchdog/meson_wdt.c > +++ b/drivers/watchdog/meson_wdt.c > @@ -155,7 +155,9 @@ static const struct watchdog_ops meson_wdt_ops = { > > static const struct of_device_id meson_wdt_dt_ids[] = { > { .compatible = "amlogic,meson6-wdt", .data = &meson6_wdt_data }, > + { .compatible = "amlogic,meson8-wdt", .data = &meson6_wdt_data }, > { .compatible = "amlogic,meson8b-wdt", .data = &meson8b_wdt_data }, > + { .compatible = "amlogic,meson8m2-wdt", .data = &meson8b_wdt_data }, > { /* sentinel */ } > }; > MODULE_DEVICE_TABLE(of, meson_wdt_dt_ids); > -- > 2.13.1 >
On Thu, Jun 15, 2017 at 7:25 PM, Guenter Roeck <linux@roeck-us.net> wrote: > On Sun, Jun 11, 2017 at 11:52:19AM +0200, Martin Blumenstingl wrote: >> The watchdog IP block on Meson8 and Meson8m2 is already supported by the >> existing meson-wdt driver. Meson8 uses the same register bits as Meson6, >> while the newer Meson8m2 SoC uses the same register bits as Meson8b. >> >> Currently watchdog support on Meson8 SoC already works because >> meson8.dtsi simply uses the "amlogic,meson6-wdt" compatible. Adding a >> separate compatible for Meson8 makes this more explicit though. >> >> Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> > > Reviewed-by: Guenter Roeck <linux@roeck-us.net> thank you! is there anything holding you up from taking this patch (for example: are you still missing any specific Signed-off-by / Acked-by)? > In general, changes like this are not necessary, though. The dts file > is supposed to reference both generic and specific compatible strings. I thought about skipping this patch, but I find that it looks strange without. the hierarchy and the corresponding compatible strings would be: meson.dtsi / compatible = "amlogic,meson6-wdt"; |- meson8.dtsi / compatible = "amlogic,meson8-wdt", "amlogic,meson6-wdt"; |- meson8m2.dtsi (upcoming) / compatible = "amlogic,meson8m2-wdt", "amlogic,meson8b-wdt"; |- meson8b.dtsi / compatible = "amlogic,meson8b-wdt"; instead of this seemingly random mixup of compatible strings I decided to introduce separate ones for each SoC. Martin
On Thu, Jun 15, 2017 at 11:13:07PM +0200, Martin Blumenstingl wrote: > On Thu, Jun 15, 2017 at 7:25 PM, Guenter Roeck <linux@roeck-us.net> wrote: > > On Sun, Jun 11, 2017 at 11:52:19AM +0200, Martin Blumenstingl wrote: > >> The watchdog IP block on Meson8 and Meson8m2 is already supported by the > >> existing meson-wdt driver. Meson8 uses the same register bits as Meson6, > >> while the newer Meson8m2 SoC uses the same register bits as Meson8b. > >> > >> Currently watchdog support on Meson8 SoC already works because > >> meson8.dtsi simply uses the "amlogic,meson6-wdt" compatible. Adding a > >> separate compatible for Meson8 makes this more explicit though. > >> > >> Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> > > > > Reviewed-by: Guenter Roeck <linux@roeck-us.net> > thank you! > is there anything holding you up from taking this patch (for example: > are you still missing any specific Signed-off-by / Acked-by)? > From Rob. Guenter > > In general, changes like this are not necessary, though. The dts file > > is supposed to reference both generic and specific compatible strings. > I thought about skipping this patch, but I find that it looks strange without. > > the hierarchy and the corresponding compatible strings would be: > meson.dtsi / compatible = "amlogic,meson6-wdt"; > |- meson8.dtsi / compatible = "amlogic,meson8-wdt", "amlogic,meson6-wdt"; > |- meson8m2.dtsi (upcoming) / compatible = "amlogic,meson8m2-wdt", > "amlogic,meson8b-wdt"; > |- meson8b.dtsi / compatible = "amlogic,meson8b-wdt"; > > instead of this seemingly random mixup of compatible strings I decided > to introduce separate ones for each SoC. > > Martin
On Thu, Jun 15, 2017 at 11:13:07PM +0200, Martin Blumenstingl wrote: > On Thu, Jun 15, 2017 at 7:25 PM, Guenter Roeck <linux@roeck-us.net> wrote: > > On Sun, Jun 11, 2017 at 11:52:19AM +0200, Martin Blumenstingl wrote: > >> The watchdog IP block on Meson8 and Meson8m2 is already supported by the > >> existing meson-wdt driver. Meson8 uses the same register bits as Meson6, > >> while the newer Meson8m2 SoC uses the same register bits as Meson8b. > >> > >> Currently watchdog support on Meson8 SoC already works because > >> meson8.dtsi simply uses the "amlogic,meson6-wdt" compatible. Adding a > >> separate compatible for Meson8 makes this more explicit though. > >> > >> Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> > > > > Reviewed-by: Guenter Roeck <linux@roeck-us.net> > thank you! > is there anything holding you up from taking this patch (for example: > are you still missing any specific Signed-off-by / Acked-by)? > > > In general, changes like this are not necessary, though. The dts file > > is supposed to reference both generic and specific compatible strings. > I thought about skipping this patch, but I find that it looks strange without. > > the hierarchy and the corresponding compatible strings would be: > meson.dtsi / compatible = "amlogic,meson6-wdt"; > |- meson8.dtsi / compatible = "amlogic,meson8-wdt", "amlogic,meson6-wdt"; > |- meson8m2.dtsi (upcoming) / compatible = "amlogic,meson8m2-wdt", > "amlogic,meson8b-wdt"; > |- meson8b.dtsi / compatible = "amlogic,meson8b-wdt"; > > instead of this seemingly random mixup of compatible strings I decided > to introduce separate ones for each SoC. But if the block is backwards compatible, you should also provide a fallback compatible string. Rob
Hi Rob, On Sun, Jun 18, 2017 at 4:04 PM, Rob Herring <robh@kernel.org> wrote: > On Thu, Jun 15, 2017 at 11:13:07PM +0200, Martin Blumenstingl wrote: >> On Thu, Jun 15, 2017 at 7:25 PM, Guenter Roeck <linux@roeck-us.net> wrote: >> > On Sun, Jun 11, 2017 at 11:52:19AM +0200, Martin Blumenstingl wrote: >> >> The watchdog IP block on Meson8 and Meson8m2 is already supported by the >> >> existing meson-wdt driver. Meson8 uses the same register bits as Meson6, >> >> while the newer Meson8m2 SoC uses the same register bits as Meson8b. >> >> >> >> Currently watchdog support on Meson8 SoC already works because >> >> meson8.dtsi simply uses the "amlogic,meson6-wdt" compatible. Adding a >> >> separate compatible for Meson8 makes this more explicit though. >> >> >> >> Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> >> > >> > Reviewed-by: Guenter Roeck <linux@roeck-us.net> >> thank you! >> is there anything holding you up from taking this patch (for example: >> are you still missing any specific Signed-off-by / Acked-by)? >> >> > In general, changes like this are not necessary, though. The dts file >> > is supposed to reference both generic and specific compatible strings. >> I thought about skipping this patch, but I find that it looks strange without. >> >> the hierarchy and the corresponding compatible strings would be: >> meson.dtsi / compatible = "amlogic,meson6-wdt"; >> |- meson8.dtsi / compatible = "amlogic,meson8-wdt", "amlogic,meson6-wdt"; >> |- meson8m2.dtsi (upcoming) / compatible = "amlogic,meson8m2-wdt", >> "amlogic,meson8b-wdt"; >> |- meson8b.dtsi / compatible = "amlogic,meson8b-wdt"; >> >> instead of this seemingly random mixup of compatible strings I decided >> to introduce separate ones for each SoC. > > But if the block is backwards compatible, you should also provide a > fallback compatible string. OK, fine with me - do you want me to update the documentation to reflect this (or is it enough if I take care of it in the .dts files)? the resulting documentation could look like this: "amlogic,meson6-wdt" on Meson6 SoCs "amlogic,meson8-wdt" along with "amlogic,meson6-wdt" on Meson8 SoCs "amlogic,meson8b-wdt" on Meson8b SoCs "amlogic,meson8m2-wdt" along with "amlogic,meson8b-wdt" on Meson8m2 SoCs Regards, Martin
On Mon, Jun 19, 2017 at 1:50 PM, Martin Blumenstingl <martin.blumenstingl@googlemail.com> wrote: > Hi Rob, > > On Sun, Jun 18, 2017 at 4:04 PM, Rob Herring <robh@kernel.org> wrote: >> On Thu, Jun 15, 2017 at 11:13:07PM +0200, Martin Blumenstingl wrote: >>> On Thu, Jun 15, 2017 at 7:25 PM, Guenter Roeck <linux@roeck-us.net> wrote: >>> > On Sun, Jun 11, 2017 at 11:52:19AM +0200, Martin Blumenstingl wrote: >>> >> The watchdog IP block on Meson8 and Meson8m2 is already supported by the >>> >> existing meson-wdt driver. Meson8 uses the same register bits as Meson6, >>> >> while the newer Meson8m2 SoC uses the same register bits as Meson8b. >>> >> >>> >> Currently watchdog support on Meson8 SoC already works because >>> >> meson8.dtsi simply uses the "amlogic,meson6-wdt" compatible. Adding a >>> >> separate compatible for Meson8 makes this more explicit though. >>> >> >>> >> Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> >>> > >>> > Reviewed-by: Guenter Roeck <linux@roeck-us.net> >>> thank you! >>> is there anything holding you up from taking this patch (for example: >>> are you still missing any specific Signed-off-by / Acked-by)? >>> >>> > In general, changes like this are not necessary, though. The dts file >>> > is supposed to reference both generic and specific compatible strings. >>> I thought about skipping this patch, but I find that it looks strange without. >>> >>> the hierarchy and the corresponding compatible strings would be: >>> meson.dtsi / compatible = "amlogic,meson6-wdt"; >>> |- meson8.dtsi / compatible = "amlogic,meson8-wdt", "amlogic,meson6-wdt"; >>> |- meson8m2.dtsi (upcoming) / compatible = "amlogic,meson8m2-wdt", >>> "amlogic,meson8b-wdt"; >>> |- meson8b.dtsi / compatible = "amlogic,meson8b-wdt"; >>> >>> instead of this seemingly random mixup of compatible strings I decided >>> to introduce separate ones for each SoC. >> >> But if the block is backwards compatible, you should also provide a >> fallback compatible string. > OK, fine with me - do you want me to update the documentation to > reflect this (or is it enough if I take care of it in the .dts files)? > the resulting documentation could look like this: > "amlogic,meson6-wdt" on Meson6 SoCs > "amlogic,meson8-wdt" along with "amlogic,meson6-wdt" on Meson8 SoCs > "amlogic,meson8b-wdt" on Meson8b SoCs > "amlogic,meson8m2-wdt" along with "amlogic,meson8b-wdt" on Meson8m2 SoCs Yes, like this. Rob
diff --git a/Documentation/devicetree/bindings/watchdog/meson-wdt.txt b/Documentation/devicetree/bindings/watchdog/meson-wdt.txt index ae70185d96e6..f2fbe1a39d31 100644 --- a/Documentation/devicetree/bindings/watchdog/meson-wdt.txt +++ b/Documentation/devicetree/bindings/watchdog/meson-wdt.txt @@ -2,7 +2,11 @@ Meson SoCs Watchdog timer Required properties: -- compatible : should be "amlogic,meson6-wdt" or "amlogic,meson8b-wdt" +- compatible : depending on the SoC this should be one of: + "amlogic,meson6-wdt" + "amlogic,meson8-wdt" + "amlogic,meson8b-wdt" + "amlogic,meson8m2-wdt" - reg : Specifies base physical address and size of the registers. Example: diff --git a/drivers/watchdog/meson_wdt.c b/drivers/watchdog/meson_wdt.c index 491b9bf13d84..304274c67735 100644 --- a/drivers/watchdog/meson_wdt.c +++ b/drivers/watchdog/meson_wdt.c @@ -155,7 +155,9 @@ static const struct watchdog_ops meson_wdt_ops = { static const struct of_device_id meson_wdt_dt_ids[] = { { .compatible = "amlogic,meson6-wdt", .data = &meson6_wdt_data }, + { .compatible = "amlogic,meson8-wdt", .data = &meson6_wdt_data }, { .compatible = "amlogic,meson8b-wdt", .data = &meson8b_wdt_data }, + { .compatible = "amlogic,meson8m2-wdt", .data = &meson8b_wdt_data }, { /* sentinel */ } }; MODULE_DEVICE_TABLE(of, meson_wdt_dt_ids);
The watchdog IP block on Meson8 and Meson8m2 is already supported by the existing meson-wdt driver. Meson8 uses the same register bits as Meson6, while the newer Meson8m2 SoC uses the same register bits as Meson8b. Currently watchdog support on Meson8 SoC already works because meson8.dtsi simply uses the "amlogic,meson6-wdt" compatible. Adding a separate compatible for Meson8 makes this more explicit though. Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> --- Documentation/devicetree/bindings/watchdog/meson-wdt.txt | 6 +++++- drivers/watchdog/meson_wdt.c | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-)