Subject: [PATCH] arm64: dts: rockchip: add spiX aliases for rk3399

From: [email-masked] (Brian Norris)
Date: Fri, 29 Jul 2016 16:39:51 -0700

+ Mark

On Wed, Jul 20, 2016 at 10:11:11AM +0200, Heiko Stuebner wrote:
> Am Mittwoch, 20. Juli 2016, 00:18:40 schrieb Heiko St?bner:
> > Am Dienstag, 19. Juli 2016, 12:29:14 schrieb Brian Norris:
> > > On Tue, Jul 19, 2016 at 12:27:54PM -0700, Brian Norris wrote:
> > > > On Tue, Jul 19, 2016 at 08:56:47PM +0200, Heiko Stuebner wrote:
> > > > > Am Dienstag, 19. Juli 2016, 08:39:55 schrieb Uwe Kleine-K?nig:
> > > > > > > --- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi
> > > > > > > +++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
> > > > > > > @@ -70,6 +70,12 @@
> > > > > > > 
> > > > > > >  		serial2 = &uart2;
> > > > > > >  		serial3 = &uart3;
> > > > > > >  		serial4 = &uart4;
> > > > > > > 
> > > > > > > +		spi0 = &spi0;
> > > > > > > +		spi1 = &spi1;
> > > > > > > +		spi2 = &spi2;
> > > > > > > +		spi3 = &spi3;
> > > > > > > +		spi4 = &spi4;
> > > > > > > +		spi5 = &spi5;
> > > > > > 
> > > > > > Note that Rob Herring (with his dt-maintainer hat on) doesn't like
> > > > > > these
> > > > > > aliases.
> > > > > > 
> > > > > > See for example:
> > > > > > 	http://mid.gmane.org/20160705140546.GA10601 at rob-hp-laptop
> > > > 
> > > > But why? I believe half the arguments in the linked thread were
> > > > Catch-22's -- there were no "mainline" users (which is a false target
> > > > IMO anyway, as Christer Weinigel mentioned somewhere in the thread Rob
> > > > linked), and so we couldn't accept more documentation (or users) for the
> > > > feature. FWIW, my quick grep now shows there are currently 43 mainline
> > > > users.
> > > > 
> > > > This feature is very useful. Some of the thread Rob pointed to argued
> > > > that the indexing isn't HW documentation; in this case, it most
> > > > certainly is. The RK3399 TRM explicitly has these SPI buses named SPI0,
> > > > SPI1, SPI2, SPI3, SPI4, and SPI5, and schematics that I've seen use the
> > > > same terminology. It is therefore *much* nicer to have my device show up
> > > > as 'spi2.0' (reflecting their correct HW name) rather than spi32764.0.
> > > > Sometimes I can't even get as far as mounting sysfs to check what this
> > > > maps to, but having spi2.0 in the kernel log can clearly tell me what
> > > > device is causing problems.
> > > > 
> > > > If Rob can support a better alternative solution, I'd be happy to
> > > > switch. But I don't understand why we can't use a useful (not just to
> > > > me, but presumably to at least 43 other independent users, and many
> > > > more out of tree), existing, and long-supported feature here.
> > 
> > Personally, I don't have any real opinion on this but the argument sounds
> > plausible to me (aka they are named with numbers in every manual,
> > schematics) so it might be helpful to have that around - similar to i2c
> > that is in the dtsi already.
> > 
> > I think I remember Doug having a similar discussion around mmc-aliases some
> > time ago - that met opposition as well [0] - although I guess the numbering
> > was a bit more arbitary there.
> > 
> > I guess we'll just see what Rob says.
> 
> Uwe pointed me to a very similar discussion and response from Rob about spi 
> aliases at:
> https://lkml.org/lkml/2016/5/25/566

I had read that already. I figured that was just rationale for not
documenting the feature (still silly IMO), and not for avoiding using
the existing feature.

What is this "label" feature Rob speaks of? Does it exist in practice
(AFAICT the answer is "no")? The description doesn't seem terrible,
depending on the implementation. Would that become the actual device
name (i.e., dev_name(dev))? Or just a filesystem symlink? And how does
one assign such a label?

Brian