DMA: Split the APBH DMA init into block and channel init
authorMarek Vasut <marex@denx.de>
Sun, 8 Apr 2012 17:34:46 +0000 (17:34 +0000)
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>
Mon, 16 Apr 2012 12:53:59 +0000 (14:53 +0200)
commit96666a39aed47c8c643dc7c6a6e15e314e63f42b
tree27d32d53fb14bc13a65e47b5de78590016687b95
parentd71c9c9fc09babfdbcbf672ada763c97772839fc
DMA: Split the APBH DMA init into block and channel init

This fixes the issue where mxs_dma_init() was called either twice or never,
without introducing any new init hooks.

The idea is to allow each and every device using the APBH DMA block to
configure and request only the channels it uses, instead of making it call init
for all the channels as is now.

The common DMA block init part, which only configures the block, is then called
from CPUs arch_cpu_init() call.

NOTE: This patch depends on:

http://patchwork.ozlabs.org/patch/150957/

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Detlev Zundel <dzu@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Tested-by: Fabio Estevam <fabio.estevam@freescale.com>
arch/arm/cpu/arm926ejs/mx28/mx28.c
arch/arm/include/asm/arch-mx28/dma.h
drivers/dma/apbh_dma.c
drivers/mmc/mxsmmc.c
drivers/mtd/nand/mxs_nand.c