Modify the Freescale Elo / Elo Plus DMA driver so that it can be compiled as
a module.
The primary change is to stop treating the DMA controller as a bus, and the
DMA channels as devices on the bus. This is because the Open Firmware (OF)
kernel code does not allow busses to be removed, so although we can call
of_platform_bus_probe() to probe the DMA channels, there is no
of_platform_bus_remove(). Therefore, the DMA channels must be manually probed.
Signed-off-by: Timur Tabi <timur@xxxxxxxxxxxxx>
---
(Reposting because I forgot to CC: the maintainers)
This patch is for the 2.6.28 kernel. This patch exposes a bug in the dmatest
module, so my other patch "dmatest: properly handle duplicate DMA channels"
should be applied if this patch is applied.
drivers/dma/Kconfig | 10 ++--
drivers/dma/fsldma.c | 165 +++++++++++++++++++++++++++++++++ +----------------
drivers/dma/fsldma.h | 2 +
3 files changed, 119 insertions(+), 58 deletions(-)