diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2017-03-18 18:50:39 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2017-03-18 18:50:39 -0400 |
commit | 93afaa4513bb08e69a3d6988ab4c3bf6c7cf07d3 (patch) | |
tree | d17f6721e000eeeac1c62779ee8c127f008ac7e3 | |
parent | 3e51f893de98296ba64a88d93a94d17e3df5de0b (diff) | |
parent | 363dad58e4a0f72dce0bf12d361d617239a80317 (diff) |
Merge tag 'openrisc-for-linus' of git://github.com/openrisc/linux
Pull OpenRISC fixes from Stafford Horne:
"OpenRISC fixes for build issues that were exposed by kbuild robots
after 4.11 merge. All from allmodconfig builds. This includes:
- bug in the handling of 8-byte get_user() calls
- module build failure due to multile missing symbol exports"
* tag 'openrisc-for-linus' of git://github.com/openrisc/linux:
openrisc: Export symbols needed by modules
openrisc: fix issue handling 8 byte get_user calls
openrisc: xchg: fix `computed is not used` warning
-rw-r--r-- | arch/openrisc/include/asm/cmpxchg.h | 8 | ||||
-rw-r--r-- | arch/openrisc/include/asm/uaccess.h | 2 | ||||
-rw-r--r-- | arch/openrisc/kernel/or32_ksyms.c | 4 | ||||
-rw-r--r-- | arch/openrisc/kernel/process.c | 1 |
4 files changed, 12 insertions, 3 deletions
diff --git a/arch/openrisc/include/asm/cmpxchg.h b/arch/openrisc/include/asm/cmpxchg.h index 5fcb9ac72693..f0a5d8b844d6 100644 --- a/arch/openrisc/include/asm/cmpxchg.h +++ b/arch/openrisc/include/asm/cmpxchg.h | |||
@@ -77,7 +77,11 @@ static inline unsigned long __xchg(unsigned long val, volatile void *ptr, | |||
77 | return val; | 77 | return val; |
78 | } | 78 | } |
79 | 79 | ||
80 | #define xchg(ptr, with) \ | 80 | #define xchg(ptr, with) \ |
81 | ((typeof(*(ptr)))__xchg((unsigned long)(with), (ptr), sizeof(*(ptr)))) | 81 | ({ \ |
82 | (__typeof__(*(ptr))) __xchg((unsigned long)(with), \ | ||
83 | (ptr), \ | ||
84 | sizeof(*(ptr))); \ | ||
85 | }) | ||
82 | 86 | ||
83 | #endif /* __ASM_OPENRISC_CMPXCHG_H */ | 87 | #endif /* __ASM_OPENRISC_CMPXCHG_H */ |
diff --git a/arch/openrisc/include/asm/uaccess.h b/arch/openrisc/include/asm/uaccess.h index 140faa16685a..1311e6b13991 100644 --- a/arch/openrisc/include/asm/uaccess.h +++ b/arch/openrisc/include/asm/uaccess.h | |||
@@ -211,7 +211,7 @@ do { \ | |||
211 | case 1: __get_user_asm(x, ptr, retval, "l.lbz"); break; \ | 211 | case 1: __get_user_asm(x, ptr, retval, "l.lbz"); break; \ |
212 | case 2: __get_user_asm(x, ptr, retval, "l.lhz"); break; \ | 212 | case 2: __get_user_asm(x, ptr, retval, "l.lhz"); break; \ |
213 | case 4: __get_user_asm(x, ptr, retval, "l.lwz"); break; \ | 213 | case 4: __get_user_asm(x, ptr, retval, "l.lwz"); break; \ |
214 | case 8: __get_user_asm2(x, ptr, retval); \ | 214 | case 8: __get_user_asm2(x, ptr, retval); break; \ |
215 | default: (x) = __get_user_bad(); \ | 215 | default: (x) = __get_user_bad(); \ |
216 | } \ | 216 | } \ |
217 | } while (0) | 217 | } while (0) |
diff --git a/arch/openrisc/kernel/or32_ksyms.c b/arch/openrisc/kernel/or32_ksyms.c index 5c4695d13542..ee3e604959e1 100644 --- a/arch/openrisc/kernel/or32_ksyms.c +++ b/arch/openrisc/kernel/or32_ksyms.c | |||
@@ -30,6 +30,7 @@ | |||
30 | #include <asm/hardirq.h> | 30 | #include <asm/hardirq.h> |
31 | #include <asm/delay.h> | 31 | #include <asm/delay.h> |
32 | #include <asm/pgalloc.h> | 32 | #include <asm/pgalloc.h> |
33 | #include <asm/pgtable.h> | ||
33 | 34 | ||
34 | #define DECLARE_EXPORT(name) extern void name(void); EXPORT_SYMBOL(name) | 35 | #define DECLARE_EXPORT(name) extern void name(void); EXPORT_SYMBOL(name) |
35 | 36 | ||
@@ -42,6 +43,9 @@ DECLARE_EXPORT(__muldi3); | |||
42 | DECLARE_EXPORT(__ashrdi3); | 43 | DECLARE_EXPORT(__ashrdi3); |
43 | DECLARE_EXPORT(__ashldi3); | 44 | DECLARE_EXPORT(__ashldi3); |
44 | DECLARE_EXPORT(__lshrdi3); | 45 | DECLARE_EXPORT(__lshrdi3); |
46 | DECLARE_EXPORT(__ucmpdi2); | ||
45 | 47 | ||
48 | EXPORT_SYMBOL(empty_zero_page); | ||
46 | EXPORT_SYMBOL(__copy_tofrom_user); | 49 | EXPORT_SYMBOL(__copy_tofrom_user); |
50 | EXPORT_SYMBOL(__clear_user); | ||
47 | EXPORT_SYMBOL(memset); | 51 | EXPORT_SYMBOL(memset); |
diff --git a/arch/openrisc/kernel/process.c b/arch/openrisc/kernel/process.c index 828a29110459..f8da545854f9 100644 --- a/arch/openrisc/kernel/process.c +++ b/arch/openrisc/kernel/process.c | |||
@@ -90,6 +90,7 @@ void arch_cpu_idle(void) | |||
90 | } | 90 | } |
91 | 91 | ||
92 | void (*pm_power_off) (void) = machine_power_off; | 92 | void (*pm_power_off) (void) = machine_power_off; |
93 | EXPORT_SYMBOL(pm_power_off); | ||
93 | 94 | ||
94 | /* | 95 | /* |
95 | * When a process does an "exec", machine state like FPU and debug | 96 | * When a process does an "exec", machine state like FPU and debug |