Add #includes needed to permit the removal of asm/system.h - sha1 96f951edb1f1bdbbc99b0cd458f9808bb83d58ae

From: Michal Simek
Date: Thu Jan 03 2013 - 07:32:31 EST


HI David and Arnd,

This patch is breaking microblaze kernel compilation

commit 96f951edb1f1bdbbc99b0cd458f9808bb83d58ae
Author: David Howells <dhowells@xxxxxxxxxx>
Date: Wed Mar 28 18:30:03 2012 +0100

Add #includes needed to permit the removal of asm/system.h

Warning log:
CC kernel/irq_work.o
In file included from include/linux/irq_work.h:4,
from kernel/irq_work.c:11:
include/linux/llist.h: In function 'llist_add':
include/linux/llist.h:185: error: implicit declaration of function
'cmpxchg_local'
include/linux/llist.h:185: warning: assignment makes pointer from
integer without a cast
make[1]: *** [kernel/irq_work.o] Error 1
make: *** [kernel] Error 2
make: *** Waiting for unfinished jobs....


It is because microblaze uses cmpxchg_local which is defined
asm-generic/atomic.h file.
Arnds patch has added it to atomic.h
asm-generic: add generic atomic.h and io.h
(sha1: 3f7e212df82ca0459d44c91d9e019efd1b5f936c)

What about to move cmpxchg_local and cmpxchg64_local from atomic.h to
cmpxchg-local.h?

If this should be separate step after your patch then please squash
the patch below to your one.

Thanks,
Michal

diff --git a/arch/microblaze/include/asm/cmpxchg.h
b/arch/microblaze/include/asm/cmpxchg.h
index 538afc0..cd10925 100644
--- a/arch/microblaze/include/asm/cmpxchg.h
+++ b/arch/microblaze/include/asm/cmpxchg.h
@@ -38,5 +38,6 @@ static inline unsigned long __xchg(unsigned long x,
volatile void *ptr,

#include <asm-generic/cmpxchg.h>
#include <asm-generic/cmpxchg-local.h>
+#include <asm-generic/atomic.h>

#endif /* _ASM_MICROBLAZE_CMPXCHG_H */


--
Michal Simek, Ing. (M.Eng)
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel - Microblaze cpu - http://www.monstr.eu/fdt/
Maintainer of Linux kernel - Xilinx Zynq ARM architecture
Microblaze U-BOOT custodian
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/