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
--