ARM: mm: introduce arch hooks for dma address translation routines

Currently arch specific DMA address translation routines can be enabled
using only defines which makes impossible to use them in with
multi-platform builds.

Hence, introduce arch specific hooks for DMA address translations
routines to be compatible with multi-platform builds:
dma_addr_t (*arch_pfn_to_dma)(struct device *dev, unsigned long pfn);
unsigned long (*arch_dma_to_pfn)(struct device *dev, dma_addr_t addr);
void* (*arch_dma_to_virt)(struct device *dev, dma_addr_t addr);
dma_addr_t (*arch_virt_to_dma)(struct device *dev, void *addr);

In case if architecture won't use it - DMA address translation routines
will fall-back to existing implementation.

Also, modify machines omap1, ks8695, iop13xx to use new DMA hooks.

Cc: Russell King <linux@arm.linux.org.uk>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Nicolas Pitre <nicolas.pitre@linaro.org>
Cc: Greg Ungerer <gerg@uclinux.org>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Olof Johansson <olof@lixom.net>
Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-of-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
8 files changed