Re: [PATCH 1/4] dmaengine: dw_dmac: use helper macro module_platform_driver()
From: Andy Shevchenko
Date: Wed Oct 10 2012 - 08:52:32 EST
On Wed, Oct 10, 2012 at 3:40 PM, Felipe Balbi <balbi@xxxxxx> 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@xxxxxxxxxx> wrote:
>> > On Wed, Oct 10, 2012 at 2:34 PM, Andy Shevchenko
>> > <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote:
>> >> On Tue, 2012-10-02 at 14:41 +0300, Andy Shevchenko wrote:
>> >>> From: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx>
>> >>>
>> >>> 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
--
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/