xtensa: nommu: don't build most of the cache flushing code
authorMax Filippov <jcmvbkbc@gmail.com>
Mon, 22 Sep 2014 05:54:42 +0000 (09:54 +0400)
committerMax Filippov <jcmvbkbc@gmail.com>
Tue, 21 Oct 2014 09:28:50 +0000 (13:28 +0400)
Most cache flushing code is only relevant for MMU. Don't build it for
nommu configuration.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
arch/xtensa/include/asm/cacheflush.h
arch/xtensa/include/asm/page.h
arch/xtensa/mm/Makefile

index 01438e97edc6b14685633b1c913483bd3c29ef28..5f67ace97b329eef97480d9243ca8026758dae97 100644 (file)
@@ -86,7 +86,8 @@ static inline void __invalidate_icache_page_alias(unsigned long virt,
  * (see also Documentation/cachetlb.txt)
  */
 
-#if (DCACHE_WAY_SIZE > PAGE_SIZE) || defined(CONFIG_SMP)
+#if defined(CONFIG_MMU) && \
+       ((DCACHE_WAY_SIZE > PAGE_SIZE) || defined(CONFIG_SMP))
 
 #ifdef CONFIG_SMP
 void flush_cache_all(void);
@@ -152,7 +153,7 @@ void local_flush_cache_page(struct vm_area_struct *vma,
 #define flush_dcache_mmap_lock(mapping)                        do { } while (0)
 #define flush_dcache_mmap_unlock(mapping)              do { } while (0)
 
-#if (DCACHE_WAY_SIZE > PAGE_SIZE)
+#if defined(CONFIG_MMU) && (DCACHE_WAY_SIZE > PAGE_SIZE)
 
 extern void copy_to_user_page(struct vm_area_struct*, struct page*,
                unsigned long, void*, const void*, unsigned long);
index abe24c6f8b2f06f112f9e9933306bcdd5a924d4d..619a51bb0163740552eb8e72593da53ff5f2f22a 100644 (file)
@@ -145,7 +145,7 @@ extern void copy_page(void *to, void *from);
  * some extra work
  */
 
-#if DCACHE_WAY_SIZE > PAGE_SIZE
+#if defined(CONFIG_MMU) && DCACHE_WAY_SIZE > PAGE_SIZE
 extern void clear_page_alias(void *vaddr, unsigned long paddr);
 extern void copy_page_alias(void *to, void *from,
                            unsigned long to_paddr, unsigned long from_paddr);
index f54f78e24d7b5e72733f23da806272a4cba6b882..e601e2fbe8e6ebadc109a1c2754f6a47ce64f1c2 100644 (file)
@@ -2,6 +2,6 @@
 # Makefile for the Linux/Xtensa-specific parts of the memory manager.
 #
 
-obj-y                  := init.o cache.o misc.o
-obj-$(CONFIG_MMU)      += fault.o mmu.o tlb.o
+obj-y                  := init.o misc.o
+obj-$(CONFIG_MMU)      += cache.o fault.o mmu.o tlb.o
 obj-$(CONFIG_HIGHMEM)  += highmem.o