--- zzzz-none-000/linux-2.6.19.2/include/asm-avr32/atomic.h 2007-01-10 19:10:37.000000000 +0000 +++ davinci-8020-5505/linux-2.6.19.2/include/asm-avr32/atomic.h 2007-01-11 07:38:19.000000000 +0000 @@ -41,7 +41,7 @@ " stcond %1, %0\n" " brne 1b" : "=&r"(result), "=o"(v->counter) - : "m"(v->counter), "rKs21"(i) + : "m"(v->counter), "ir"(i) : "cc"); return result; @@ -58,7 +58,7 @@ { int result; - if (__builtin_constant_p(i) && (i >= -1048575) && (i <= 1048576)) + if (__builtin_constant_p(i)) result = atomic_sub_return(-i, v); else asm volatile( @@ -101,7 +101,7 @@ " mov %1, 1\n" "1:" : "=&r"(tmp), "=&r"(result), "=o"(v->counter) - : "m"(v->counter), "rKs21"(a), "rKs21"(u) + : "m"(v->counter), "ir"(a), "ir"(u) : "cc", "memory"); return result; @@ -121,7 +121,7 @@ { int tmp, result; - if (__builtin_constant_p(a) && (a >= -1048575) && (a <= 1048576)) + if (__builtin_constant_p(a)) result = atomic_sub_unless(v, -a, u); else { result = 0;