--- zzzz-none-000/linux-2.4.17/include/asm-arm/proc-armv/uaccess.h 2001-10-25 20:53:55.000000000 +0000 +++ sangam-fb-322/linux-2.4.17/include/asm-arm/proc-armv/uaccess.h 2004-11-24 13:21:39.000000000 +0000 @@ -54,6 +54,7 @@ : "=r" (err) \ : "r" (x), "r" (addr), "i" (-EFAULT), "0" (err)) +#ifndef __ARMEB__ #define __put_user_asm_half(x,addr,err) \ ({ \ unsigned long __temp = (unsigned long)(x); \ @@ -61,6 +62,14 @@ __put_user_asm_byte(__temp, __ptr, err); \ __put_user_asm_byte(__temp >> 8, __ptr + 1, err); \ }) +#else +#define __put_user_asm_half(x,addr,err) \ +({ \ + unsigned long __temp = (unsigned long)(x); \ + __put_user_asm_byte(__temp >> 8, addr, err); \ + __put_user_asm_byte(__temp, (int)(addr) + 1, err); \ +}) +#endif #define __put_user_asm_word(x,addr,err) \ __asm__ __volatile__( \ @@ -95,6 +104,7 @@ : "=r" (err), "=&r" (x) \ : "r" (addr), "i" (-EFAULT), "0" (err)) +#ifndef __ARMEB__ #define __get_user_asm_half(x,addr,err) \ ({ \ unsigned long __b1, __b2, __ptr = (unsigned long)addr; \ @@ -102,7 +112,15 @@ __get_user_asm_byte(__b2, __ptr + 1, err); \ (x) = __b1 | (__b2 << 8); \ }) - +#else +#define __get_user_asm_half(x,addr,err) \ +({ \ + unsigned long __b1, __b2; \ + __get_user_asm_byte(__b1, addr, err); \ + __get_user_asm_byte(__b2, (int)(addr) + 1, err); \ + (x) = (__b1 << 8) | __b2; \ +}) +#endif #define __get_user_asm_word(x,addr,err) \ __asm__ __volatile__( \