Index: kernel/arch/abs32le/include/atomic.h
===================================================================
--- kernel/arch/abs32le/include/atomic.h	(revision fb52db8f118975b401dbf28c2f4b1bef62c0328b)
+++ kernel/arch/abs32le/include/atomic.h	(revision af56e9b85fca4f965e273d0cf0e72f55bb39d07b)
@@ -54,5 +54,5 @@
 }
 
-static inline long atomic_postinc(atomic_t *val)
+static inline atomic_count_t atomic_postinc(atomic_t *val)
 {
 	/* On real hardware both the storing of the previous
@@ -60,5 +60,5 @@
 	   atomic action. */
 	
-	long prev = val->count;
+	atomic_count_t prev = val->count;
 	
 	val->count++;
@@ -66,5 +66,5 @@
 }
 
-static inline long atomic_postdec(atomic_t *val)
+static inline atomic_count_t atomic_postdec(atomic_t *val)
 {
 	/* On real hardware both the storing of the previous
@@ -72,5 +72,5 @@
 	   atomic action. */
 	
-	long prev = val->count;
+	atomic_count_t prev = val->count;
 	
 	val->count--;
@@ -81,7 +81,7 @@
 #define atomic_predec(val)  (atomic_postdec(val) - 1)
 
-static inline uint32_t test_and_set(atomic_t *val)
+static inline atomic_count_t test_and_set(atomic_t *val)
 {
-	uint32_t prev = val->count;
+	atomic_count_t prev = val->count;
 	val->count = 1;
 	return prev;
Index: kernel/arch/abs32le/include/types.h
===================================================================
--- kernel/arch/abs32le/include/types.h	(revision fb52db8f118975b401dbf28c2f4b1bef62c0328b)
+++ kernel/arch/abs32le/include/types.h	(revision af56e9b85fca4f965e273d0cf0e72f55bb39d07b)
@@ -55,4 +55,5 @@
 typedef uint32_t unative_t;
 typedef int32_t native_t;
+typedef uint32_t atomic_count_t;
 
 typedef struct {
