Index: kernel/generic/include/atomic.h
===================================================================
--- kernel/generic/include/atomic.h	(revision b8da2a3196d5087851d140dacd2d5616703180d7)
+++ kernel/generic/include/atomic.h	(revision b03a6661abd7275f3449da5ceb08f6e13194c4f3)
@@ -27,5 +27,5 @@
  */
 
-/** @addtogroup generic	
+/** @addtogroup generic
  * @{
  */
@@ -36,16 +36,18 @@
 #define KERN_ATOMIC_H_
 
+#include <arch/types.h>
+
 typedef struct atomic {
-	volatile long count;
+	volatile atomic_count_t count;
 } atomic_t;
 
 #include <arch/atomic.h>
 
-static inline void atomic_set(atomic_t *val, long i)
+static inline void atomic_set(atomic_t *val, atomic_count_t i)
 {
 	val->count = i;
 }
 
-static inline long atomic_get(atomic_t *val)
+static inline atomic_count_t atomic_get(atomic_t *val)
 {
 	return val->count;
Index: kernel/generic/src/proc/scheduler.c
===================================================================
--- kernel/generic/src/proc/scheduler.c	(revision b8da2a3196d5087851d140dacd2d5616703180d7)
+++ kernel/generic/src/proc/scheduler.c	(revision b03a6661abd7275f3449da5ceb08f6e13194c4f3)
@@ -542,6 +542,9 @@
 {
 	thread_t *t;
-	int count, average, j, k = 0;
+	int count;
+	atomic_count_t average;
 	unsigned int i;
+	int j;
+	int k = 0;
 	ipl_t ipl;
 
