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

From: Heiko Stübner
Date: Tue Jul 19 2016 - 18:18:52 EST


Am Dienstag, 19. Juli 2016, 12:29:14 schrieb Brian Norris:
> On Tue, Jul 19, 2016 at 12:27:54PM -0700, Brian Norris wrote:
> > + Rob
>
> + Rob for real
>
> > Hi,
> >
> > 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:
> > > > On Thu, Jul 14, 2016 at 06:24:33PM -0700, Brian Norris wrote:
> > > > > It's nicer to see this:
> > > > > # ls -l /sys/bus/spi/devices/
> > > > > total 0
> > > > > lrwxrwxrwx 1 root root 0 Dec 31 1969 spi0.0 ->
> > > > > ../../../devices/platform/ff1c0000.spi/spi_master/spi0/spi0.0
> > > > > lrwxrwxrwx 1 root root 0 Dec 31 1969 spi1.0 ->
> > > > > ../../../devices/platform/ff1d0000.spi/spi_master/spi1/spi1.0
> > > > > lrwxrwxrwx 1 root root 0 Dec 31 1969 spi2.0 ->
> > > > > ../../../devices/platform/ff1e0000.spi/spi_master/spi2/spi2.0
> > > > > lrwxrwxrwx 1 root root 0 Dec 31 1969 spi5.0 ->
> > > > > ../../../devices/platform/ff200000.spi/spi_master/spi5/spi5.0>
> > > > >
> > > > > than this:
> > > > > # ls -l /sys/bus/spi/devices/
> > > > > total 0
> > > > > lrwxrwxrwx 1 root root 0 Dec 31 1969 spi32763.0 ->
> > > > > ../../../devices/platform/ff200000.spi/spi_master/spi32763/spi32
> > > > > 763.0
> > > > > lrwxrwxrwx 1 root root 0 Dec 31 1969 spi32764.0 ->
> > > > > ../../../devices/platform/ff1e0000.spi/spi_master/spi32764/spi32
> > > > > 764.0
> > > > > lrwxrwxrwx 1 root root 0 Dec 31 1969 spi32765.0 ->
> > > > > ../../../devices/platform/ff1d0000.spi/spi_master/spi32765/spi32
> > > > > 765.0
> > > > > lrwxrwxrwx 1 root root 0 Dec 31 1969 spi32766.0 ->
> > > > > ../../../devices/platform/ff1c0000.spi/spi_master/spi32766/spi32
> > > > > 766.0>
> > > > >
> > > > > With the latter, it's much clearer which bus devices are on.
> > > > >
> > > > > Signed-off-by: Brian Norris <briannorris@xxxxxxxxxxxx>
> > > > > ---
> > > > >
> > > > > arch/arm64/boot/dts/rockchip/rk3399.dtsi | 6 ++++++
> > > > > 1 file changed, 6 insertions(+)
> > > > >
> > > > > diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi
> > > > > b/arch/arm64/boot/dts/rockchip/rk3399.dtsi index
> > > > > 4c84229789ef..b04abbfd4898 100644
> > > > > --- 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@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.


Heiko

[0] https://lkml.org/lkml/2016/4/29/610