Messages in this thread | | | Date | Wed, 10 Oct 2012 15:52:40 +0300 | Subject | Re: [PATCH 1/4] dmaengine: dw_dmac: use helper macro module_platform_driver() | From | Andy Shevchenko <> |
| |
On Wed, Oct 10, 2012 at 3:40 PM, Felipe Balbi <balbi@ti.com> wrote: > On Wed, Oct 10, 2012 at 12:21:04PM +0300, Andy Shevchenko wrote: >> On Wed, Oct 10, 2012 at 12:08 PM, viresh kumar <viresh.kumar@linaro.org> wrote: >> > On Wed, Oct 10, 2012 at 2:34 PM, Andy Shevchenko >> > <andriy.shevchenko@linux.intel.com> wrote: >> >> On Tue, 2012-10-02 at 14:41 +0300, Andy Shevchenko wrote: >> >>> From: Heikki Krogerus <heikki.krogerus@linux.intel.com> >> >>> >> >>> Since v3.2 we have nice macro to define the platform driver's init and exit >> >>> calls. This patch simplifies the dw_dmac driver by using that macro. >> >> >> >> Actually we can't do this. It will break initialization of some other >> >> drivers. >> > >> > why? >> >> We have spi, i2c and hsuart devices connected to the DMA controller. >> In case we would like to use DMA we have to have the dw_dmac loaded >> before them. Currently we have spi driver on subsys_initcall level, >> and Mika, who is developing it, will change to module_init_call level. >> However, it will just hide the potential issue. He also tried to use >> deferred module loading, but we don't know if it's good solution or >> not, and that solution requires something to stop deferring at some >> moment. >> >> Might be we missed something and there is a better solution. > > if they can only work with DMA, they should return -EPROBE_DEFER so > their probe() function can be called after DMA driver has finished > probing.
They could work either with DMA or via PIO mode. How does the driver know when to stop to return -EPROBE_DEFER?
-- With Best Regards, Andy Shevchenko
| |