2024-04-25 18:38:40

by Rob Herring

[permalink] [raw]
Subject: [PATCH] dt-bindings: clock: fixed: Define a preferred node name

Define "clock-<freq>" as the preferred node name for fixed-clock and
fixed-factor-clock. There isn't much of an existing pattern for names of
these nodes. The most frequent patterns are a prefix or suffix of "clk",
but there's a bunch that don't follow any sort of pattern. We could use
"clock-controller-.*", but these nodes aren't really a controller in any
way. So let's at least align with part of that and use 'clock-'.

For now this only serves as documentation as the schema still allows
anything to avoid lots of additional warnings for something low priority
to fix. Once a "no deprecated" mode is added to the tools, warnings can
be enabled selectively.

Signed-off-by: Rob Herring (Arm) <[email protected]>
---
Documentation/devicetree/bindings/clock/fixed-clock.yaml | 7 +++++++
.../devicetree/bindings/clock/fixed-factor-clock.yaml | 8 ++++++++
2 files changed, 15 insertions(+)

diff --git a/Documentation/devicetree/bindings/clock/fixed-clock.yaml b/Documentation/devicetree/bindings/clock/fixed-clock.yaml
index b0a4fb8256e2..d287bd092054 100644
--- a/Documentation/devicetree/bindings/clock/fixed-clock.yaml
+++ b/Documentation/devicetree/bindings/clock/fixed-clock.yaml
@@ -11,6 +11,13 @@ maintainers:
- Stephen Boyd <[email protected]>

properties:
+ $nodename:
+ anyOf:
+ - description: Preferred name is 'clock-<freq>'
+ pattern: "^clock-([0-9]+|[a-z0-9-]+)$"
+ - description: Any name allowed
+ deprecated: true
+
compatible:
const: fixed-clock

diff --git a/Documentation/devicetree/bindings/clock/fixed-factor-clock.yaml b/Documentation/devicetree/bindings/clock/fixed-factor-clock.yaml
index 8f71ab300470..962a1fe85416 100644
--- a/Documentation/devicetree/bindings/clock/fixed-factor-clock.yaml
+++ b/Documentation/devicetree/bindings/clock/fixed-factor-clock.yaml
@@ -11,6 +11,14 @@ maintainers:
- Stephen Boyd <[email protected]>

properties:
+ $nodename:
+ anyOf:
+ - description:
+ Preferred name is 'clock-<freq>' if the input frequency is fixed
+ pattern: "^clock-([0-9]+|[0-9a-z-]+)$"
+ - description: Any name allowed
+ deprecated: true
+
compatible:
enum:
- fixed-factor-clock
--
2.43.0



2024-04-30 00:11:46

by Stephen Boyd

[permalink] [raw]
Subject: Re: [PATCH] dt-bindings: clock: fixed: Define a preferred node name

Quoting Rob Herring (Arm) (2024-04-25 11:38:09)
> diff --git a/Documentation/devicetree/bindings/clock/fixed-clock.yaml b/Documentation/devicetree/bindings/clock/fixed-clock.yaml
> index b0a4fb8256e2..d287bd092054 100644
> --- a/Documentation/devicetree/bindings/clock/fixed-clock.yaml
> +++ b/Documentation/devicetree/bindings/clock/fixed-clock.yaml
> @@ -11,6 +11,13 @@ maintainers:
> - Stephen Boyd <[email protected]>
>
> properties:
> + $nodename:
> + anyOf:
> + - description: Preferred name is 'clock-<freq>'

Is the preferred value of <freq> the clock-frequency property? Should
say that explicitly somehow so that it's clear.

> + pattern: "^clock-([0-9]+|[a-z0-9-]+)$"
> + - description: Any name allowed
> + deprecated: true
> +
> compatible:
> const: fixed-clock
>
> diff --git a/Documentation/devicetree/bindings/clock/fixed-factor-clock.yaml b/Documentation/devicetree/bindings/clock/fixed-factor-clock.yaml
> index 8f71ab300470..962a1fe85416 100644
> --- a/Documentation/devicetree/bindings/clock/fixed-factor-clock.yaml
> +++ b/Documentation/devicetree/bindings/clock/fixed-factor-clock.yaml
> @@ -11,6 +11,14 @@ maintainers:
> - Stephen Boyd <[email protected]>
>
> properties:
> + $nodename:
> + anyOf:
> + - description:
> + Preferred name is 'clock-<freq>' if the input frequency is fixed

Similar question here. Is <freq> supposed to be the output clock frequency?

> + pattern: "^clock-([0-9]+|[0-9a-z-]+)$"
> + - description: Any name allowed
> + deprecated: true

I hope that deprecating this doesn't cause folks to try to clean things
up and then break code that's depending on the node name to be the name
of the clk. We don't want that string name to be important but it is
sometimes.

2024-04-30 12:34:28

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH] dt-bindings: clock: fixed: Define a preferred node name

On Mon, Apr 29, 2024 at 7:11 PM Stephen Boyd <[email protected]> wrote:
>
> Quoting Rob Herring (Arm) (2024-04-25 11:38:09)
> > diff --git a/Documentation/devicetree/bindings/clock/fixed-clock.yaml b/Documentation/devicetree/bindings/clock/fixed-clock.yaml
> > index b0a4fb8256e2..d287bd092054 100644
> > --- a/Documentation/devicetree/bindings/clock/fixed-clock.yaml
> > +++ b/Documentation/devicetree/bindings/clock/fixed-clock.yaml
> > @@ -11,6 +11,13 @@ maintainers:
> > - Stephen Boyd <[email protected]>
> >
> > properties:
> > + $nodename:
> > + anyOf:
> > + - description: Preferred name is 'clock-<freq>'
>
> Is the preferred value of <freq> the clock-frequency property? Should
> say that explicitly somehow so that it's clear.

Yes, will add.

> > + pattern: "^clock-([0-9]+|[a-z0-9-]+)$"
> > + - description: Any name allowed
> > + deprecated: true
> > +
> > compatible:
> > const: fixed-clock
> >
> > diff --git a/Documentation/devicetree/bindings/clock/fixed-factor-clockyaml b/Documentation/devicetree/bindings/clock/fixed-factor-clock.yaml
> > index 8f71ab300470..962a1fe85416 100644
> > --- a/Documentation/devicetree/bindings/clock/fixed-factor-clock.yaml
> > +++ b/Documentation/devicetree/bindings/clock/fixed-factor-clock.yaml
> > @@ -11,6 +11,14 @@ maintainers:
> > - Stephen Boyd <[email protected]>
> >
> > properties:
> > + $nodename:
> > + anyOf:
> > + - description:
> > + Preferred name is 'clock-<freq>' if the input frequency is fixed
>
> Similar question here. Is <freq> supposed to be the output clock frequency?

Yes.

>
> > + pattern: "^clock-([0-9]+|[0-9a-z-]+)$"
> > + - description: Any name allowed
> > + deprecated: true
>
> I hope that deprecating this doesn't cause folks to try to clean things
> up and then break code that's depending on the node name to be the name
> of the clk. We don't want that string name to be important but it is
> sometimes.

Right. Leaving things as-is is the intent. We won't be enabling any
"no deprecated" mode by default when it is added.


Rob