diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-11-12 18:26:39 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-11-12 18:26:39 -0500 |
| commit | 7dac7102afbeb99daa454f555f1ea1f42fad2f78 (patch) | |
| tree | 024bf6c2ed2fa46cab610e6012bd3dd5f45da182 /arch/h8300/include | |
| parent | 3370b69eb0c1f6a05f9051e8fc3e8768461a80f7 (diff) | |
| parent | f639eeb4a60ce39f154753e3a745bd755e0fe084 (diff) | |
Merge tag 'for-4.4' of git://git.osdn.jp/gitroot/uclinux-h8/linux
Pull h8300 updates from Yoshinori Sato:
"Some bug fixes"
* tag 'for-4.4' of git://git.osdn.jp/gitroot/uclinux-h8/linux:
h8300: enable CLKSRC_OF
h8300: Don't set CROSS_COMPILE unconditionally
asm-generic: {get,put}_user ptr argument evaluate only 1 time
h8300: bit io fix
h8300: zImage fix
h8300: register address fix
h8300: Fix alignment for .data
h8300: unaligned divcr register support.
Diffstat (limited to 'arch/h8300/include')
| -rw-r--r-- | arch/h8300/include/asm/io.h | 12 | ||||
| -rw-r--r-- | arch/h8300/include/asm/thread_info.h | 14 |
2 files changed, 12 insertions, 14 deletions
diff --git a/arch/h8300/include/asm/io.h b/arch/h8300/include/asm/io.h index 1d09b2f2e0fe..bb837cded268 100644 --- a/arch/h8300/include/asm/io.h +++ b/arch/h8300/include/asm/io.h | |||
| @@ -36,20 +36,20 @@ static inline void ctrl_outl(unsigned long b, unsigned long addr) | |||
| 36 | *(volatile unsigned long *)addr = b; | 36 | *(volatile unsigned long *)addr = b; |
| 37 | } | 37 | } |
| 38 | 38 | ||
| 39 | static inline void ctrl_bclr(int b, unsigned long addr) | 39 | static inline void ctrl_bclr(int b, unsigned char *addr) |
| 40 | { | 40 | { |
| 41 | if (__builtin_constant_p(b)) | 41 | if (__builtin_constant_p(b)) |
| 42 | __asm__("bclr %1,%0" : : "WU"(addr), "i"(b)); | 42 | __asm__("bclr %1,%0" : "+WU"(*addr): "i"(b)); |
| 43 | else | 43 | else |
| 44 | __asm__("bclr %w1,%0" : : "WU"(addr), "r"(b)); | 44 | __asm__("bclr %w1,%0" : "+WU"(*addr): "r"(b)); |
| 45 | } | 45 | } |
| 46 | 46 | ||
| 47 | static inline void ctrl_bset(int b, unsigned long addr) | 47 | static inline void ctrl_bset(int b, unsigned char *addr) |
| 48 | { | 48 | { |
| 49 | if (__builtin_constant_p(b)) | 49 | if (__builtin_constant_p(b)) |
| 50 | __asm__("bset %1,%0" : : "WU"(addr), "i"(b)); | 50 | __asm__("bset %1,%0" : "+WU"(*addr): "i"(b)); |
| 51 | else | 51 | else |
| 52 | __asm__("bset %w1,%0" : : "WU"(addr), "r"(b)); | 52 | __asm__("bset %w1,%0" : "+WU"(*addr): "r"(b)); |
| 53 | } | 53 | } |
| 54 | 54 | ||
| 55 | #endif /* __KERNEL__ */ | 55 | #endif /* __KERNEL__ */ |
diff --git a/arch/h8300/include/asm/thread_info.h b/arch/h8300/include/asm/thread_info.h index 544c30785ad4..b408fe660cf8 100644 --- a/arch/h8300/include/asm/thread_info.h +++ b/arch/h8300/include/asm/thread_info.h | |||
| @@ -13,6 +13,12 @@ | |||
| 13 | 13 | ||
| 14 | #ifdef __KERNEL__ | 14 | #ifdef __KERNEL__ |
| 15 | 15 | ||
| 16 | /* | ||
| 17 | * Size of kernel stack for each process. This must be a power of 2... | ||
| 18 | */ | ||
| 19 | #define THREAD_SIZE_ORDER 1 | ||
| 20 | #define THREAD_SIZE 8192 /* 2 pages */ | ||
| 21 | |||
| 16 | #ifndef __ASSEMBLY__ | 22 | #ifndef __ASSEMBLY__ |
| 17 | 23 | ||
| 18 | /* | 24 | /* |
| @@ -46,14 +52,6 @@ struct thread_info { | |||
| 46 | #define init_thread_info (init_thread_union.thread_info) | 52 | #define init_thread_info (init_thread_union.thread_info) |
| 47 | #define init_stack (init_thread_union.stack) | 53 | #define init_stack (init_thread_union.stack) |
| 48 | 54 | ||
| 49 | |||
| 50 | /* | ||
| 51 | * Size of kernel stack for each process. This must be a power of 2... | ||
| 52 | */ | ||
| 53 | #define THREAD_SIZE_ORDER 1 | ||
| 54 | #define THREAD_SIZE 8192 /* 2 pages */ | ||
| 55 | |||
| 56 | |||
| 57 | /* how to get the thread information struct from C */ | 55 | /* how to get the thread information struct from C */ |
| 58 | static inline struct thread_info *current_thread_info(void) | 56 | static inline struct thread_info *current_thread_info(void) |
| 59 | { | 57 | { |
