Re: [PATCH] ARM: at91: spi: request all csgpio in spi probe
From: Alexandre Belloni
Date: Thu Jul 31 2014 - 11:59:50 EST
On 29/07/2014 at 10:00:17 +0200, Boris Brezillon wrote :
> Hi Alexandre,
>
> > While this solves the particular issue JiÅÃ is seeing, this will not
> > solve the case where PA14 (CS0) is not used by the spi driver at all. It
> > will remained muxed as CS0 and toggle when the spi master needs to
> > access CS0 until another driver muxes it to something else. I still
> > believe we should explicitly ask pinctrl to mux them as gpios.
> >
>
> Do we really care about this case ?
> After all, if a given pin needs a specific muxing during kernel boot
> (i.e. a pin connected to a gpio-led that needs to stay in its previous
> state or a pin connected to the reset line of a device that needs to
> stay up and running during kernel boot) the bootloader/bootstrap should
> have muxed this pin appropriately before booting the kernel.
>
Yeah, you are right.
> What do you mean by "we should explicitly ask pinctrl to mux them as
> gpios" ?
> Do you mean configuring all the pins as GPIOs when the pin controller is
> probed, or just adding a new pinctrl state configuring the pin as an
> output GPIO and reference it in the pinctrl-0 property of the spi
> controller.
>
> If the former, you'll break devices that needs their pins to stay in
> the state they were during the bootloader/boostrap phase.
> The latter won't work if the pin you request as GPIO is later requested
> by another device (which, if I'm correct, is exactly the case you're
> trying to solve).
>
Again you are right, let's not care about that use case. I still feel
that the pinctrl-0 property has to be filled correctly.
--
Alexandre Belloni, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/