Messages in this thread | | | Date | Wed, 30 Sep 2009 15:55:57 +0200 | From | Haavard Skinnemoen <> | Subject | Re: [PATCH 1/2] atmel-mci: change use of dma slave interface |
| |
Nicolas Ferre <nicolas.ferre@atmel.com> wrote: > > You'll still need typecasts to support the dma_request_channel() > > callback, but the code will be safer and cleaner, I expect. > > My concern are: > 1/ allow the use of either dmaengine driver > 2/ avoid too much modification to dw_dma_slave as it > is also used for audio stuff on avr32 platforms... > 3/ not introduce heavy weigh solution like the use of an union
We used to have a struct dma_slave in linux/dmaengine.h which took care of all this, but it got removed at some point.
How about introducing a new mach/atmel-mci.h file with a struct mci_dma_data encapsulating either a struct dw_dma_slave or a struct at_dma_slave, as well as any other DMA-related definitions needed by the atmel-mci driver?
Then we just need to make sure that we either 1) use the same name on all fields in struct {dw,at}_dma_slave which are used by the atmel-mci driver, or 2) add accessor functions or macros for those fields.
I think I would prefer the latter, but both should work equally well.
Haavard
| |