2014-09-09 18:45 GMT+04:00 Felipe Balbi <ba...@ti.com>:
> On Tue, Sep 09, 2014 at 01:28:55PM +0400, Matwey V. Kornilov wrote:
>> Hi George,
>>
>> Why dma_controller_create can not be set in struct musb_platform_ops?
>> Then each module would be able to set dma_controller_create it wants,
>> and musb_init_controller would use musb->ops->dma_controller_create
>> instead of just dma_controller_create.
>
> patches are welcome :-)
>

Will the following approach be acceptable?

1. musbhsdma.o cppi_dma.o tusb6010_omap.o ux500_dma.o musb_cppi41.o
became independent modules (tristate), each module exports two
symbols: PREFIX_dma_controller_create and ..._destroy.
2. add two callbacks to musb_platform_ops, when pointers are NULL then
no DMA is used
3. every module uses appropriate &PREFIX_dma_controller_create in its
PREFIX_ops structure
4. musb_core uses wrappers which calls
musb->ops->dma_controller_create and destroy

In this case every DMA mode can be reused more by several drivers if
necessarily.


-- 
With best regards,
Matwey V. Kornilov
http://blog.matwey.name
xmpp://0x2...@jabber.ru
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to