Re: Consider moving the init of pl330 to earlier?

From: Vinod Koul
Date: Thu Oct 16 2014 - 03:35:21 EST


On Thu, Oct 09, 2014 at 02:35:11PM -0700, Ray Jui wrote:
> Hi,
>
> How do you guys like the idea of moving the driver initialization of
> the pl330 DMA driver to earlier? For example, to arch_initcall_sync
> or subsys_initcall? Currently the pl330 driver is registered through
> module_amba_driver call, which translates to device_initcall in the
> end. This is a bit late considering in many systems, DMA controller
> is one of the core components that may have many slave devices
> depending on. Most slave drivers are typically done at
> device_initcall. When done at the same level, DMA may not be ready
> while the slave devices are being initialized. In addition, under
> the drivers/dma directory, we currently have various other DMA
> drivers also done at subsys_initcall.
>
> One issue that I'm seeing with the Broadcom Cygnus SoC is that, when
> we try to use DMA with SPI (PL022), the request for DMA channel
> would fail because the spi-pl022 driver we use is initialized at
> subsys_initcall. At the time the PL330 driver is not yet
> initialized. The reason why spi-pl022 is done at subsys_initcall is
> that some regulators communicate through the SPI bus so people
> decided to move it to earlier (commit 25c8e03b by Linus Walleij),
> which seems to be a valid reason to me.
As a subsytem we encourage folks to use early init calls and then have
clients use late_init so that dependency is solved.

So feel free to send the patch

--
~Vinod

--
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/