X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=include%2Fasm-h8300%2Fuaccess.h;h=356068cd0879bdf145bd68f12857b75cfd95ab4c;hb=1b3cba8e60c67c968d108ac55c77e32c1928dec3;hp=a22350ec271aae96e494fdcc6c90c432010a296d;hpb=35d77ef1c05bc3760427954dafaee3ca550542f3;p=mv-sheeva.git diff --git a/include/asm-h8300/uaccess.h b/include/asm-h8300/uaccess.h index a22350ec271..356068cd087 100644 --- a/include/asm-h8300/uaccess.h +++ b/include/asm-h8300/uaccess.h @@ -91,22 +91,19 @@ extern int __put_user_bad(void); #define get_user(x, ptr) \ ({ \ int __gu_err = 0; \ - uint32_t __gu_val = 0; \ + typeof(*(ptr)) __gu_val = *ptr; \ switch (sizeof(*(ptr))) { \ case 1: \ case 2: \ case 4: \ - __gu_val = *(ptr); \ - break; \ - case 8: \ - memcpy(&__gu_val, ptr, sizeof (*(ptr))); \ + case 8: \ break; \ default: \ - __gu_val = 0; \ __gu_err = __get_user_bad(); \ + __gu_val = 0; \ break; \ } \ - (x) = (typeof(*(ptr)))__gu_val; \ + (x) = __gu_val; \ __gu_err; \ }) #define __get_user(x, ptr) get_user(x, ptr)