Re: [PATCH] gpio: pinctrl: Initialize Armada-XP GPIO/Pinctrl drivers at arch_initcall

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Thomas,

The driver I'm using that requires access to the GPIO pins is one that 
I've been working on. It doesn't do much, just drives a single reset 
line to take other hardware out of reset.

The hardware that gets taken out of reset includes a few i2c GPIO 
expanders. The GPIO expanders use the gpio-pca953x.c driver, which uses 
subsys_initcall.

One of the things that we found strange: With the code the way it 
currently is, we have access to external GPIO expanders before we were 
able to access the CPUs own built-in GPIO pins.


Thank you,
Joshua Scott

On 12/05/15 19:18, Thomas Petazzoni wrote:
> Dear Joshua Scott,
>
> On Tue, 12 May 2015 14:39:42 +1200, Joshua Scott wrote:
>> The Armada-XP contains a set of GPIO pins. These pins may be used to take
>> other hardware out of reset. However, the drivers used are currently not
>> initialized until quite late in the boot process (module_platform_driver).
>>
>> This patch replaces the use of module_platform_driver with arch_initcall
>> in the two drivers that are used to control the GPIO pins. This allows for
>> drivers using subsys_initcall or later to access to the pins.
>>
>>
>> Signed-off-by: Joshua Scott <joshua.scott@xxxxxxxxxxxxxxxxxxx>
> Thanks for the patch. However, this goes exactly in the opposite
> direction of commit dd640039e8de4135fd59d4d963487d1239d6fabe ("gpio:
> mvebu: Remove initcall-based driver initialization"), which switched
> from postcore_initcall() to module_platform_driver().
>
> Can you describe which drivers registered at subsys_initcall() need
> those GPIOs? We should be able to get around by using deferred probing.
>
> Thanks,
>
> Thomas
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux