diff --git a/arch/arm/mm/Makefile b/arch/arm/mm/Makefile
index ddce038789813bf6788a4fde9d20ad7e905b1b08..21a2770226ee418e9756d2a6663a255850352333 100644
--- a/arch/arm/mm/Makefile
+++ b/arch/arm/mm/Makefile
@@ -2,11 +2,11 @@
 # Makefile for the linux arm-specific parts of the memory manager.
 #
 
-obj-y				:= consistent.o extable.o fault-armv.o \
-				   fault.o init.o iomap.o mmap.o \
-				   mm-armv.o
+obj-y				:= consistent.o extable.o fault.o init.o \
+				   iomap.o
 
-obj-$(CONFIG_MMU)		+= flush.o ioremap.o
+obj-$(CONFIG_MMU)		+= fault-armv.o flush.o ioremap.o mmap.o \
+				   mm-armv.o
 
 ifneq ($(CONFIG_MMU),y)
 obj-y				+= nommu.o
diff --git a/include/asm-arm/mach/map.h b/include/asm-arm/mach/map.h
index c3929fc74afdb713df54d486a8c2157582d0cfd8..cef5364ed5feb0531cc39b3bee6ccdf01426562d 100644
--- a/include/asm-arm/mach/map.h
+++ b/include/asm-arm/mach/map.h
@@ -26,4 +26,8 @@ struct map_desc {
 #define MT_IXP2000_DEVICE	7
 #define MT_NONSHARED_DEVICE	8
 
+#ifdef CONFIG_MMU
 extern void iotable_init(struct map_desc *, int);
+#else
+#define iotable_init(map,num)	do { } while (0)
+#endif