Index: generic/include/synch/spinlock.h
===================================================================
--- generic/include/synch/spinlock.h	(revision dc747e33f6f5d74c7d1b7b50fda3b2fabff8fa82)
+++ generic/include/synch/spinlock.h	(revision 75e1db00d0ee9a3395d39a41f301594454557f36)
@@ -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
