diff --git a/include/asm-avr32/div64.h b/include/div64.h
similarity index 100%
rename from include/asm-avr32/div64.h
rename to include/div64.h
diff --git a/lib_avr32/Makefile b/lib_avr32/Makefile
index cf20836023fd4f8967e6a5bf019e971c008e192e..bb2938fe5c2206102477e45282d0d989a6ad4610 100644
--- a/lib_avr32/Makefile
+++ b/lib_avr32/Makefile
@@ -29,7 +29,7 @@ LIB	= $(obj)lib$(ARCH).a
 
 SOBJS	= memset.o
 
-COBJS	= board.o interrupts.o avr32_linux.o div64.o
+COBJS	= board.o interrupts.o avr32_linux.o
 
 SRCS	:= $(SOBJS:.o=.S) $(COBJS:.o=.c)
 OBJS	:= $(addprefix $(obj),$(SOBJS) $(COBJS))
diff --git a/lib_generic/Makefile b/lib_generic/Makefile
index b2091c5e78bd6cc1b8f98dc6bae719bc82f58c01..bf377529c20a802b02a0cf9db27e54bf1584d0f1 100644
--- a/lib_generic/Makefile
+++ b/lib_generic/Makefile
@@ -27,7 +27,7 @@ LIB	= $(obj)libgeneric.a
 
 COBJS	= bzlib.o bzlib_crctable.o bzlib_decompress.o \
 	  bzlib_randtable.o bzlib_huffman.o \
-	  crc32.o ctype.o display_options.o ldiv.o sha1.o \
+	  crc32.o ctype.o display_options.o div64.o ldiv.o sha1.o \
 	  string.o vsprintf.o zlib.o
 
 SRCS 	:= $(COBJS:.o=.c)
diff --git a/lib_avr32/div64.c b/lib_generic/div64.c
similarity index 97%
rename from lib_avr32/div64.c
rename to lib_generic/div64.c
index 99726e325dafc263ddaf23bd7190e67420442df2..d9951b597f9fd4a798be978d48794b6c9fd8205e 100644
--- a/lib_avr32/div64.c
+++ b/lib_generic/div64.c
@@ -18,8 +18,6 @@
 
 #include <linux/types.h>
 
-#include <asm/div64.h>
-
 uint32_t __div64_32(uint64_t *n, uint32_t base)
 {
 	uint64_t rem = *n;