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 [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

