Index: generic/include/cpu.h
===================================================================
--- generic/include/cpu.h	(revision 7dd25618029b6d98c0ca074a1d14e41065c8ac45)
+++ generic/include/cpu.h	(revision 80d2bdbb59aff7f143abc484128e57a0c2b47e47)
@@ -54,5 +54,5 @@
 
 	#ifdef CONFIG_SMP
-	int kcpulbstarted;
+	atomic_t kcpulbstarted;
 	waitq_t kcpulb_wq;
 	#endif /* CONFIG_SMP */
Index: generic/include/debug.h
===================================================================
--- generic/include/debug.h	(revision 7dd25618029b6d98c0ca074a1d14e41065c8ac45)
+++ generic/include/debug.h	(revision 80d2bdbb59aff7f143abc484128e57a0c2b47e47)
@@ -34,5 +34,5 @@
 #include <arch.h>
 
-#define CALLER       ((__address *)__builtin_return_address(0))
+#define CALLER       ((__address)__builtin_return_address(0))
 
 #ifndef HERE
Index: generic/include/synch/spinlock.h
===================================================================
--- generic/include/synch/spinlock.h	(revision 7dd25618029b6d98c0ca074a1d14e41065c8ac45)
+++ generic/include/synch/spinlock.h	(revision 80d2bdbb59aff7f143abc484128e57a0c2b47e47)
@@ -33,4 +33,5 @@
 #include <typedefs.h>
 #include <preemption.h>
+#include <arch/atomic.h>
 
 #ifdef CONFIG_SMP
@@ -39,5 +40,5 @@
 	char *name;
 #endif
-	int val;
+	atomic_t val;
 };
 
@@ -56,10 +57,10 @@
 	spinlock_t slname = { 		\
 		.name = #slname,	\
-		.val = 0		\
+		.val = { 0 }		\
 	}
 #else
 #define SPINLOCK_INITIALIZE(slname) 	\
 	spinlock_t slname = { 		\
-		.val = 0		\
+		.val = { 0 }		\
 	}
 #endif
