Re: [PATCH v2 1/6] dt-bindings: timer: Add Tegra186 & Tegra234 Timer

From: Rob Herring
Date: Fri Jul 01 2022 - 15:37:29 EST


On Thu, Jun 30, 2022 at 11:13:50AM +0200, Thierry Reding wrote:
> On Wed, Jun 29, 2022 at 11:58:59PM +0530, Kartik wrote:
> > The Tegra186 timer provides ten 29-bit timer counters and one 32-bit
> > timestamp counter. The Tegra234 timer provides sixteen 29-bit timer
> > counters and one 32-bit timestamp counter. Each NV timer selects its
> > timing reference signal from the 1 MHz reference generated by USEC,
> > TSC or either clk_m or OSC. Each TMR can be programmed to generate
> > one-shot, periodic, or watchdog interrupts.
> >
> > Signed-off-by: Kartik <kkartik@xxxxxxxxxx>
> > ---
> > .../bindings/timer/nvidia,tegra186-timer.yaml | 111 ++++++++++++++++++
> > 1 file changed, 111 insertions(+)
> > create mode 100644 Documentation/devicetree/bindings/timer/nvidia,tegra186-timer.yaml
>
> Rob, I've been wondering about patch application with these DT bindings.
> In the past I've preferred to apply these along with the driver changes
> that implement the bindings. I realize now that that's perhaps a bit
> naive because we've had cases where the driver doesn't fully implement
> everything in the binding as well as cases where the bindings are
> upstreamed without the driver necessarily being upstreamed at the same
> time.
>
> So I'm thinking that it makes more sense to apply the DT bindings to the
> same tree as the DT changes that add corresponding DT nodes. This would
> also get rid of the (usually temporary) inconsistencies when running the
> DT validation (and even just something like checkpatch) on a DT tree
> that doesn't have corresponding DT bindings.

The checkpatch warnings apply for the driver too. Though the current
checks are pretty hacky (extract the compatible and grep the tree for
it). I'm working on some more exact checks, but they will depend on
processing the schemas and probably a built kernel/modules.


> Do you have any strong preference on this?

Well, the documented process is for bindings go via subsystem trees, so
that's a wider discussion to change.

I prefer the bindings get accepted by subsystem maintainers that know
that class of h/w and also have little motivation to accept them.
Granted, some don't even look at bindings or only look if DT maintainers
reviewed. If anyone else is going to look for what could be common or
not, it's the subsystem maintainers, not sub-arch maintainers.
Obviously, this is all generalizations and there's exceptions. It's
similar reasons why I don't want to see bindings moved out of the
kernel. We'd lose the subsystem maintainers review.

That being said, I might feel differently when platforms have 0 warnings
and any temporary warnings are problematic.

Rob