Re: [PATCH 0/2 v3] Add pl031 RTC support for Hi6220

From: Arnd Bergmann
Date: Thu Jul 07 2016 - 04:11:23 EST


On Wednesday, July 6, 2016 5:19:53 PM CEST Michael Turquette wrote:
> On Wed, Jul 6, 2016 at 12:38 AM, Arnd Bergmann <arnd@xxxxxxxx> wrote:
> >
> > On Wednesday, July 6, 2016 12:20:15 AM CEST John Stultz wrote:
> > > On Wed, Jul 6, 2016 at 12:04 AM, Olof Johansson <olof@xxxxxxxxx> wrote:
> > > > On Tue, Jul 5, 2016 at 11:55 PM, John Stultz <john.stultz@xxxxxxxxxx> wrote:
> > > >> On Tue, Jul 5, 2016 at 10:22 PM, Olof Johansson <olof@xxxxxxxxx> wrote:
> > > >>> On Wed, Jun 29, 2016 at 05:48:43PM -0700, John Stultz wrote:
> > > >>>> This patchset enables the pl031 RTC on the Hi6220 SoC.
> > > >>>>
> > > >>>> I'd like to submit it to be merged.
> > > >>>>
> > > >>>> Wei has acked the second patch (modulo a whitespace fix which
> > > >>>> I've included in this v3), so it seems like both could go
> > > >>>> through the clk tree.
> > > >>>>
> > > >>>> But Wei also seemed open to pulling in a clk tree branch
> > > >>>> as it goes through arm-soc.
> > > >>>>
> > > >>>> Michael/Stephen: If there's no other objections, could you
> > > >>>> queue the first patch and make it avilable via the branch for
> > > >>>> Wei, or just take both patches?
> > > >>>
> > > >>> I happen to dread these kind of patchsets these days. There's added
> > > >>> dependencies across trees just because a defined name for the clock
> > > >>> number is added to a header file.
> > > >>>
> > > >>> I much prefer to use numerical clocks for one release, and then once
> > > >>> everything is in, switch over to the defines in the DTS.
> > > >>>
> > > >>> That way there are no dependencies, no need to setup a shared branch
> > > >>> for a simple 3-line patch, etc.
> > > >>>
> > > >>> So, mind respinning the DTS piece?
> > > >>
> > > >> Huh..
> > > >
> > > > Sorry if it appeared random, I've complained about it for a while to
> > > > submaintainers.
> > >
> > > No.. I get it, the cross-maintainer shared branch is complex enough to
> > > want to avoid. I figured it would be easier to just take a maintainer
> > > acked patch in via the clk tree, but its not my tree, so I'll leave it
> > > to you maintainers to resolve.
> >
> > The question this raises is why that clock was missed the first time
> > around. I'd suggest whoever owns the clock driver can go through the
> > documentation again and look for others that may have been missed,
> > then send a patch to the driver to add *all* the missing ones for the
> > merge window, and one release later we add the driver depending on
> > previously unknown clocks.
>
> Well, I'm kicking the ant pile on this one, but sometimes the above
> suggestion is not possible. I'm currently hacking on a platform with
> very limited docs, so I cannot understand the whole clock tree, nor
> how all peripherals are wired up to it.

That's clearly not the case here though: the hi6220 clk driver
was contributed by hisilicon engineers that have all the documentation.

> Further complicating matters is that fact that any headers in the DT
> include chroot constitute an unbreakable ABI that shall stand for
> 1,000 years at least, so I'm very remiss to dump a bunch of constant
> values in there with names that might need to change at a later date.

Can you give an example why they might need to change? Usually the
hardware doesn't change. There is also a risk of having a driver
binding that makes sense for the first 10 clocks that get added,
and then it later turns out that the chip actually has hundreds
of clocks that could really use a completely different binding
to allow a simpler driver.

Arnd