[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20141016065912.GB1638@intel.com>
Date: Thu, 16 Oct 2014 12:29:12 +0530
From: Vinod Koul <vinod.koul@...el.com>
To: Ray Jui <rjui@...adcom.com>
Cc: Dan Williams <djbw@...com>, Scott Branden <sbranden@...adcom.com>,
linux-kernel@...r.kernel.org
Subject: Re: Consider moving the init of pl330 to earlier?
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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists