* [PATCH v2 0/2] watchdog: realtek-otto: add fallback compatible
@ 2026-05-12 20:48 Sander Vanheule
2026-05-12 20:48 ` [PATCH v2 1/2] dt-bindings: watchdog: realtek,otto-wdt: Add " Sander Vanheule
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: Sander Vanheule @ 2026-05-12 20:48 UTC (permalink / raw)
To: Wim Van Sebroeck, Guenter Roeck, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: Rustam Adilov, linux-watchdog, devicetree, linux-kernel,
Sander Vanheule
Like for the GPIO hardware of the Realtek Otto platform, add a fallback
compatible for the watchdog hardware.
For backward compatibility, the binding will still allow current
single-compatible devicetrees to work, but new devicetrees, including
new compatibles, should use a two-component compatible.
This series serves to address comments regarding the device compatibles
for the patches adding RTL9607C watchdog support [1].
[1] https://lore.kernel.org/lkml/20260509163101.722793-1-adilov@disroot.org/
Sander Vanheule (2):
dt-bindings: watchdog: realtek,otto-wdt: Add fallback compatible
watchdog: realtek-otto: add fallback compatible
.../bindings/watchdog/realtek,otto-wdt.yaml | 22 ++++++++++++++-----
drivers/watchdog/realtek_otto_wdt.c | 2 ++
2 files changed, 18 insertions(+), 6 deletions(-)
--
2.54.0
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v2 1/2] dt-bindings: watchdog: realtek,otto-wdt: Add fallback compatible
2026-05-12 20:48 [PATCH v2 0/2] watchdog: realtek-otto: add fallback compatible Sander Vanheule
@ 2026-05-12 20:48 ` Sander Vanheule
2026-05-14 0:20 ` Guenter Roeck
2026-05-12 20:48 ` [PATCH v2 2/2] watchdog: realtek-otto: add " Sander Vanheule
2026-05-14 16:10 ` [PATCH v2 0/2] " Rob Herring
2 siblings, 1 reply; 9+ messages in thread
From: Sander Vanheule @ 2026-05-12 20:48 UTC (permalink / raw)
To: Wim Van Sebroeck, Guenter Roeck, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: Rustam Adilov, linux-watchdog, devicetree, linux-kernel,
Sander Vanheule
As all known hardware instantiations of this watchdog behave the same, a
fallback compatible can be added.
To remain compatible with existing single-compatible bindings, the
current compatibles are duplicated. New compatibles should only be added
to the list with fallback.
Signed-off-by: Sander Vanheule <sander@svanheule.net>
---
Changes since v1:
- Fix indendations
- Add deprecated property to old compatible
- Use two-part compatible in example
---
.../bindings/watchdog/realtek,otto-wdt.yaml | 22 ++++++++++++++-----
1 file changed, 16 insertions(+), 6 deletions(-)
diff --git a/Documentation/devicetree/bindings/watchdog/realtek,otto-wdt.yaml b/Documentation/devicetree/bindings/watchdog/realtek,otto-wdt.yaml
index 1f5390a67cdb..e470e0fcbb2a 100644
--- a/Documentation/devicetree/bindings/watchdog/realtek,otto-wdt.yaml
+++ b/Documentation/devicetree/bindings/watchdog/realtek,otto-wdt.yaml
@@ -25,11 +25,21 @@ allOf:
properties:
compatible:
- enum:
- - realtek,rtl8380-wdt
- - realtek,rtl8390-wdt
- - realtek,rtl9300-wdt
- - realtek,rtl9310-wdt
+ oneOf:
+ - items:
+ - enum:
+ - realtek,rtl8380-wdt
+ - realtek,rtl8390-wdt
+ - realtek,rtl9300-wdt
+ - realtek,rtl9310-wdt
+ - const: realtek,otto-wdt
+ # Legacy without fallback, do not extend
+ - deprecated: true
+ enum:
+ - realtek,rtl8380-wdt
+ - realtek,rtl8390-wdt
+ - realtek,rtl9300-wdt
+ - realtek,rtl9310-wdt
reg:
maxItems: 1
@@ -74,7 +84,7 @@ unevaluatedProperties: false
examples:
- |
watchdog: watchdog@3150 {
- compatible = "realtek,rtl8380-wdt";
+ compatible = "realtek,rtl8380-wdt", "realtek,otto-wdt";
reg = <0x3150 0xc>;
realtek,reset-mode = "soc";
--
2.54.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v2 2/2] watchdog: realtek-otto: add fallback compatible
2026-05-12 20:48 [PATCH v2 0/2] watchdog: realtek-otto: add fallback compatible Sander Vanheule
2026-05-12 20:48 ` [PATCH v2 1/2] dt-bindings: watchdog: realtek,otto-wdt: Add " Sander Vanheule
@ 2026-05-12 20:48 ` Sander Vanheule
2026-05-14 16:10 ` [PATCH v2 0/2] " Rob Herring
2 siblings, 0 replies; 9+ messages in thread
From: Sander Vanheule @ 2026-05-12 20:48 UTC (permalink / raw)
To: Wim Van Sebroeck, Guenter Roeck, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: Rustam Adilov, linux-watchdog, devicetree, linux-kernel,
Sander Vanheule
As the binding now supports a fallback compatible for (new) devicetrees,
let's add it to the list of supported compatibles. If new compatibles
are added to the binding, driver updates may no longer be required.
Signed-off-by: Sander Vanheule <sander@svanheule.net>
---
drivers/watchdog/realtek_otto_wdt.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/watchdog/realtek_otto_wdt.c b/drivers/watchdog/realtek_otto_wdt.c
index 2c30ddd574c5..b4eb2f87f991 100644
--- a/drivers/watchdog/realtek_otto_wdt.c
+++ b/drivers/watchdog/realtek_otto_wdt.c
@@ -350,6 +350,8 @@ static int otto_wdt_probe(struct platform_device *pdev)
}
static const struct of_device_id otto_wdt_ids[] = {
+ { .compatible = "realtek,otto-wdt" },
+ /* Legacy bindings without fallback compatible */
{ .compatible = "realtek,rtl8380-wdt" },
{ .compatible = "realtek,rtl8390-wdt" },
{ .compatible = "realtek,rtl9300-wdt" },
--
2.54.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH v2 1/2] dt-bindings: watchdog: realtek,otto-wdt: Add fallback compatible
2026-05-12 20:48 ` [PATCH v2 1/2] dt-bindings: watchdog: realtek,otto-wdt: Add " Sander Vanheule
@ 2026-05-14 0:20 ` Guenter Roeck
2026-05-14 16:03 ` Rob Herring
2026-05-14 16:08 ` Krzysztof Kozlowski
0 siblings, 2 replies; 9+ messages in thread
From: Guenter Roeck @ 2026-05-14 0:20 UTC (permalink / raw)
To: Sander Vanheule
Cc: Wim Van Sebroeck, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Rustam Adilov, linux-watchdog, devicetree, linux-kernel
On Tue, May 12, 2026 at 10:48:53PM +0200, Sander Vanheule wrote:
> As all known hardware instantiations of this watchdog behave the same, a
> fallback compatible can be added.
>
> To remain compatible with existing single-compatible bindings, the
> current compatibles are duplicated. New compatibles should only be added
> to the list with fallback.
>
> Signed-off-by: Sander Vanheule <sander@svanheule.net>
> ---
> Changes since v1:
> - Fix indendations
> - Add deprecated property to old compatible
> - Use two-part compatible in example
> ---
> .../bindings/watchdog/realtek,otto-wdt.yaml | 22 ++++++++++++++-----
> 1 file changed, 16 insertions(+), 6 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/watchdog/realtek,otto-wdt.yaml b/Documentation/devicetree/bindings/watchdog/realtek,otto-wdt.yaml
> index 1f5390a67cdb..e470e0fcbb2a 100644
> --- a/Documentation/devicetree/bindings/watchdog/realtek,otto-wdt.yaml
> +++ b/Documentation/devicetree/bindings/watchdog/realtek,otto-wdt.yaml
> @@ -25,11 +25,21 @@ allOf:
>
> properties:
> compatible:
> - enum:
> - - realtek,rtl8380-wdt
> - - realtek,rtl8390-wdt
> - - realtek,rtl9300-wdt
> - - realtek,rtl9310-wdt
> + oneOf:
> + - items:
> + - enum:
> + - realtek,rtl8380-wdt
> + - realtek,rtl8390-wdt
> + - realtek,rtl9300-wdt
> + - realtek,rtl9310-wdt
> + - const: realtek,otto-wdt
For the Apple watchdog driver, the generic property "apple,wdt" is
considered to be bad and is not supposed to be used for newer chips.
For this watchdog driver, a generic property is introduced.
What is the overall logic ? Is there some rule when a generic property
such as "realtek,otto-wdt" is appropriate and preferred, and when it isn't
(as in "apple,wdt") ?
Thanks,
Guenter
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 1/2] dt-bindings: watchdog: realtek,otto-wdt: Add fallback compatible
2026-05-14 0:20 ` Guenter Roeck
@ 2026-05-14 16:03 ` Rob Herring
2026-05-14 16:08 ` Krzysztof Kozlowski
1 sibling, 0 replies; 9+ messages in thread
From: Rob Herring @ 2026-05-14 16:03 UTC (permalink / raw)
To: Guenter Roeck
Cc: Sander Vanheule, Wim Van Sebroeck, Krzysztof Kozlowski,
Conor Dooley, Rustam Adilov, linux-watchdog, devicetree,
linux-kernel
On Wed, May 13, 2026 at 05:20:59PM -0700, Guenter Roeck wrote:
> On Tue, May 12, 2026 at 10:48:53PM +0200, Sander Vanheule wrote:
> > As all known hardware instantiations of this watchdog behave the same, a
> > fallback compatible can be added.
> >
> > To remain compatible with existing single-compatible bindings, the
> > current compatibles are duplicated. New compatibles should only be added
> > to the list with fallback.
> >
> > Signed-off-by: Sander Vanheule <sander@svanheule.net>
> > ---
> > Changes since v1:
> > - Fix indendations
> > - Add deprecated property to old compatible
> > - Use two-part compatible in example
> > ---
> > .../bindings/watchdog/realtek,otto-wdt.yaml | 22 ++++++++++++++-----
> > 1 file changed, 16 insertions(+), 6 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/watchdog/realtek,otto-wdt.yaml b/Documentation/devicetree/bindings/watchdog/realtek,otto-wdt.yaml
> > index 1f5390a67cdb..e470e0fcbb2a 100644
> > --- a/Documentation/devicetree/bindings/watchdog/realtek,otto-wdt.yaml
> > +++ b/Documentation/devicetree/bindings/watchdog/realtek,otto-wdt.yaml
> > @@ -25,11 +25,21 @@ allOf:
> >
> > properties:
> > compatible:
> > - enum:
> > - - realtek,rtl8380-wdt
> > - - realtek,rtl8390-wdt
> > - - realtek,rtl9300-wdt
> > - - realtek,rtl9310-wdt
> > + oneOf:
> > + - items:
> > + - enum:
> > + - realtek,rtl8380-wdt
> > + - realtek,rtl8390-wdt
> > + - realtek,rtl9300-wdt
> > + - realtek,rtl9310-wdt
> > + - const: realtek,otto-wdt
>
> For the Apple watchdog driver, the generic property "apple,wdt" is
> considered to be bad and is not supposed to be used for newer chips.
> For this watchdog driver, a generic property is introduced.
>
> What is the overall logic ? Is there some rule when a generic property
> such as "realtek,otto-wdt" is appropriate and preferred, and when it isn't
> (as in "apple,wdt") ?
Never preferred. Retroactively adding them, that's a definite no.
Rob
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 1/2] dt-bindings: watchdog: realtek,otto-wdt: Add fallback compatible
2026-05-14 0:20 ` Guenter Roeck
2026-05-14 16:03 ` Rob Herring
@ 2026-05-14 16:08 ` Krzysztof Kozlowski
1 sibling, 0 replies; 9+ messages in thread
From: Krzysztof Kozlowski @ 2026-05-14 16:08 UTC (permalink / raw)
To: Guenter Roeck, Sander Vanheule
Cc: Wim Van Sebroeck, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Rustam Adilov, linux-watchdog, devicetree, linux-kernel
On 14/05/2026 02:20, Guenter Roeck wrote:
>> + oneOf:
>> + - items:
>> + - enum:
>> + - realtek,rtl8380-wdt
>> + - realtek,rtl8390-wdt
>> + - realtek,rtl9300-wdt
>> + - realtek,rtl9310-wdt
>> + - const: realtek,otto-wdt
>
> For the Apple watchdog driver, the generic property "apple,wdt" is
> considered to be bad and is not supposed to be used for newer chips.
> For this watchdog driver, a generic property is introduced.
>
> What is the overall logic ? Is there some rule when a generic property
> such as "realtek,otto-wdt" is appropriate and preferred, and when it isn't
> (as in "apple,wdt") ?
Except what Rob said, it is also documented:
https://elixir.bootlin.com/linux/v7.1-rc3/source/Documentation/devicetree/bindings/writing-bindings.rst#L60
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 0/2] watchdog: realtek-otto: add fallback compatible
2026-05-12 20:48 [PATCH v2 0/2] watchdog: realtek-otto: add fallback compatible Sander Vanheule
2026-05-12 20:48 ` [PATCH v2 1/2] dt-bindings: watchdog: realtek,otto-wdt: Add " Sander Vanheule
2026-05-12 20:48 ` [PATCH v2 2/2] watchdog: realtek-otto: add " Sander Vanheule
@ 2026-05-14 16:10 ` Rob Herring
2026-05-14 16:25 ` Sander Vanheule
2 siblings, 1 reply; 9+ messages in thread
From: Rob Herring @ 2026-05-14 16:10 UTC (permalink / raw)
To: Sander Vanheule
Cc: Wim Van Sebroeck, Guenter Roeck, Krzysztof Kozlowski,
Conor Dooley, Rustam Adilov, linux-watchdog, devicetree,
linux-kernel
On Tue, May 12, 2026 at 10:48:52PM +0200, Sander Vanheule wrote:
> Like for the GPIO hardware of the Realtek Otto platform, add a fallback
> compatible for the watchdog hardware.
>
> For backward compatibility, the binding will still allow current
> single-compatible devicetrees to work, but new devicetrees, including
> new compatibles, should use a two-component compatible.
>
> This series serves to address comments regarding the device compatibles
> for the patches adding RTL9607C watchdog support [1].
>
> [1] https://lore.kernel.org/lkml/20260509163101.722793-1-adilov@disroot.org/
You misunderstood the discussion (though some came after this). The
fallback should be one of the existing compatibles (the oldest one), so
there are no driver changes needed for the OS. Creating a new fallback
completely misses that point.
Rob
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 0/2] watchdog: realtek-otto: add fallback compatible
2026-05-14 16:10 ` [PATCH v2 0/2] " Rob Herring
@ 2026-05-14 16:25 ` Sander Vanheule
2026-05-14 20:57 ` Rob Herring
0 siblings, 1 reply; 9+ messages in thread
From: Sander Vanheule @ 2026-05-14 16:25 UTC (permalink / raw)
To: Rob Herring
Cc: Wim Van Sebroeck, Guenter Roeck, Krzysztof Kozlowski,
Conor Dooley, Rustam Adilov, linux-watchdog, devicetree,
linux-kernel
On Thu, 2026-05-14 at 11:10 -0500, Rob Herring wrote:
> On Tue, May 12, 2026 at 10:48:52PM +0200, Sander Vanheule wrote:
> > Like for the GPIO hardware of the Realtek Otto platform, add a fallback
> > compatible for the watchdog hardware.
> >
> > For backward compatibility, the binding will still allow current
> > single-compatible devicetrees to work, but new devicetrees, including
> > new compatibles, should use a two-component compatible.
> >
> > This series serves to address comments regarding the device compatibles
> > for the patches adding RTL9607C watchdog support [1].
> >
> > [1] https://lore.kernel.org/lkml/20260509163101.722793-1-adilov@disroot.org/
>
> You misunderstood the discussion (though some came after this). The
> fallback should be one of the existing compatibles (the oldest one), so
> there are no driver changes needed for the OS. Creating a new fallback
> completely misses that point.
Using a SoC-specific compatible would mean we should go for something like:
compatible = "realtek,rtl9706c-wdt", "realtek,rtl8380-wdt";
Then that means we can never change our interpretation of how the rtl8380
behaves (we don't have datasheets), because it would also impact the behavior of
the rtl9706c.
I also think "apple,wdt" is a bad example to compare with "realtek,otto-wdt".
The former only specifies the vendor, while the latter refers to the line of
SoCs this IP block is used for. Although I see the docs also discourage family
compatibles.
If I may ask, what is the rationale for preferring the "older implementation"
approach over a "family compatible" to match the common subset of supported
features?
Best,
Sander
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 0/2] watchdog: realtek-otto: add fallback compatible
2026-05-14 16:25 ` Sander Vanheule
@ 2026-05-14 20:57 ` Rob Herring
0 siblings, 0 replies; 9+ messages in thread
From: Rob Herring @ 2026-05-14 20:57 UTC (permalink / raw)
To: Sander Vanheule
Cc: Wim Van Sebroeck, Guenter Roeck, Krzysztof Kozlowski,
Conor Dooley, Rustam Adilov, linux-watchdog, devicetree,
linux-kernel
On Thu, May 14, 2026 at 11:25 AM Sander Vanheule <sander@svanheule.net> wrote:
>
> On Thu, 2026-05-14 at 11:10 -0500, Rob Herring wrote:
> > On Tue, May 12, 2026 at 10:48:52PM +0200, Sander Vanheule wrote:
> > > Like for the GPIO hardware of the Realtek Otto platform, add a fallback
> > > compatible for the watchdog hardware.
> > >
> > > For backward compatibility, the binding will still allow current
> > > single-compatible devicetrees to work, but new devicetrees, including
> > > new compatibles, should use a two-component compatible.
> > >
> > > This series serves to address comments regarding the device compatibles
> > > for the patches adding RTL9607C watchdog support [1].
> > >
> > > [1] https://lore.kernel.org/lkml/20260509163101.722793-1-adilov@disroot.org/
> >
> > You misunderstood the discussion (though some came after this). The
> > fallback should be one of the existing compatibles (the oldest one), so
> > there are no driver changes needed for the OS. Creating a new fallback
> > completely misses that point.
>
> Using a SoC-specific compatible would mean we should go for something like:
> compatible = "realtek,rtl9706c-wdt", "realtek,rtl8380-wdt";
>
> Then that means we can never change our interpretation of how the rtl8380
> behaves (we don't have datasheets), because it would also impact the behavior of
> the rtl9706c.
No, at that point you would add the rtl9706c compatible to the driver
to distinguish.
You have the same constraint with your generic compatible.
> I also think "apple,wdt" is a bad example to compare with "realtek,otto-wdt".
> The former only specifies the vendor, while the latter refers to the line of
> SoCs this IP block is used for. Although I see the docs also discourage family
> compatibles.
Is M1, M2, M3 not a family? Maybe A series is included too, but if
there's anyone that maintains some consistency across SoCs, it is
Apple.
The docs are based on experience and regret...
>
> If I may ask, what is the rationale for preferring the "older implementation"
> approach over a "family compatible" to match the common subset of supported
> features?
If you create bindings as the SoCs are created, then you don't really
know what's in a family, only does it work with the existing driver .
You only know what's in a family after the fact. Things are never that
clean either.
I just picked the oldest as that's probably the most well known, least
likely to need some future change, and would have the oldest OS
version support.
Rob
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2026-05-14 20:57 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-12 20:48 [PATCH v2 0/2] watchdog: realtek-otto: add fallback compatible Sander Vanheule
2026-05-12 20:48 ` [PATCH v2 1/2] dt-bindings: watchdog: realtek,otto-wdt: Add " Sander Vanheule
2026-05-14 0:20 ` Guenter Roeck
2026-05-14 16:03 ` Rob Herring
2026-05-14 16:08 ` Krzysztof Kozlowski
2026-05-12 20:48 ` [PATCH v2 2/2] watchdog: realtek-otto: add " Sander Vanheule
2026-05-14 16:10 ` [PATCH v2 0/2] " Rob Herring
2026-05-14 16:25 ` Sander Vanheule
2026-05-14 20:57 ` Rob Herring
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox