--- zzzz-none-000/linux-2.6.28.10/arch/arm/include/asm/cacheflush.h 2009-05-02 18:54:43.000000000 +0000 +++ fusiv-7390-686/linux-2.6.28.10/arch/arm/include/asm/cacheflush.h 2010-04-07 07:21:18.000000000 +0000 @@ -286,11 +286,11 @@ #else -static inline void outer_inv_range(unsigned long start, unsigned long end) +static inline void outer_inv_range(unsigned long start __attribute__((unused)), unsigned long end __attribute__((unused))) { } -static inline void outer_clean_range(unsigned long start, unsigned long end) +static inline void outer_clean_range(unsigned long start __attribute__((unused)), unsigned long end __attribute__((unused))) { } -static inline void outer_flush_range(unsigned long start, unsigned long end) +static inline void outer_flush_range(unsigned long start __attribute__((unused)), unsigned long end __attribute__((unused))) { } #endif @@ -437,11 +437,25 @@ */ #define flush_icache_page(vma,page) do { } while (0) -static inline void flush_ioremap_region(unsigned long phys, void __iomem *virt, +static inline void flush_ioremap_region(unsigned long phys __attribute__((unused)), void __iomem *virt, unsigned offset, size_t size) { const void *start = (void __force *)virt + offset; dmac_inv_range(start, start + size); } +/*------------------------------------------------------------------------------------------*\ + * Funktionen zur Kompatibilität mit mit der arch/mips implementierung auf früheren Kerneln +\*------------------------------------------------------------------------------------------*/ +static inline void dma_cache_inv(unsigned long addr, unsigned int size) { + dmac_inv_range((void *)addr, (void *)(addr + size)); +} + +static inline void dma_cache_wback(unsigned long addr, unsigned int size) { + dmac_flush_range((void *)addr, (void *)(addr + size)); +} + +static inline void dma_cache_wback_inv(unsigned long addr, unsigned int size) { + dmac_clean_range((void *)addr, (void *)(addr + size)); +} #endif