aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/sh/Kconfig1
-rw-r--r--arch/sh/Makefile8
-rw-r--r--arch/sh/boot/Makefile4
-rw-r--r--arch/sh/kernel/cpu/sh2/entry.S1
-rw-r--r--arch/sh/kernel/smp.c2
-rw-r--r--drivers/serial/sh-sci.c4
-rw-r--r--include/asm-sh/byteorder.h15
-rw-r--r--include/asm-sh/posix_types.h6
8 files changed, 25 insertions, 16 deletions
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
index 95b7534e9e3c..12720489e458 100644
--- a/arch/sh/Kconfig
+++ b/arch/sh/Kconfig
@@ -580,6 +580,7 @@ config SH_TIMER_IRQ
580 CPU_SUBTYPE_SH7763 580 CPU_SUBTYPE_SH7763
581 default "86" if CPU_SUBTYPE_SH7619 581 default "86" if CPU_SUBTYPE_SH7619
582 default "140" if CPU_SUBTYPE_SH7206 582 default "140" if CPU_SUBTYPE_SH7206
583 default "142" if CPU_SUBTYPE_SH7203
583 default "16" 584 default "16"
584 585
585config SH_PCLK_FREQ 586config SH_PCLK_FREQ
diff --git a/arch/sh/Makefile b/arch/sh/Makefile
index c510c225144f..cffc92b1bf2e 100644
--- a/arch/sh/Makefile
+++ b/arch/sh/Makefile
@@ -154,7 +154,11 @@ drivers-$(CONFIG_OPROFILE) += arch/sh/oprofile/
154 154
155boot := arch/sh/boot 155boot := arch/sh/boot
156 156
157ifneq ($(KBUILD_SRC),)
157incdir-prefix := $(srctree)/include/asm-sh/ 158incdir-prefix := $(srctree)/include/asm-sh/
159else
160incdir-prefix :=
161endif
158 162
159# Update machine arch and proc symlinks if something which affects 163# Update machine arch and proc symlinks if something which affects
160# them changed. We use .arch and .mach to indicate when they were 164# them changed. We use .arch and .mach to indicate when they were
@@ -182,7 +186,7 @@ include/asm-sh/.mach: $(wildcard include/config/sh/*.h) \
182 $(Q)if [ ! -d include/asm-sh ]; then mkdir -p include/asm-sh; fi 186 $(Q)if [ ! -d include/asm-sh ]; then mkdir -p include/asm-sh; fi
183 $(Q)rm -f include/asm-sh/mach 187 $(Q)rm -f include/asm-sh/mach
184 $(Q)for i in $(incdir-y); do \ 188 $(Q)for i in $(incdir-y); do \
185 if [ -d $(incdir-prefix)$$i ]; then \ 189 if [ -d $(srctree)/include/asm-sh/$$i ]; then \
186 echo -n ' SYMLINK include/asm-sh/mach -> '; \ 190 echo -n ' SYMLINK include/asm-sh/mach -> '; \
187 echo -e "include/asm-sh/$$i"; \ 191 echo -e "include/asm-sh/$$i"; \
188 ln -fsn $(incdir-prefix)$$i \ 192 ln -fsn $(incdir-prefix)$$i \
@@ -191,7 +195,7 @@ include/asm-sh/.mach: $(wildcard include/config/sh/*.h) \
191 if [ ! -d include/asm-sh/mach ]; then \ 195 if [ ! -d include/asm-sh/mach ]; then \
192 echo -n ' SYMLINK include/asm-sh/mach -> '; \ 196 echo -n ' SYMLINK include/asm-sh/mach -> '; \
193 echo -e 'include/asm-sh'; \ 197 echo -e 'include/asm-sh'; \
194 ln -fsn $(incdir-prefix) include/asm-sh/mach; \ 198 ln -fsn $(incdir-prefix)../asm-sh include/asm-sh/mach; \
195 fi; \ 199 fi; \
196 fi; \ 200 fi; \
197 done 201 done
diff --git a/arch/sh/boot/Makefile b/arch/sh/boot/Makefile
index 59f552c13349..3dda24daa0a8 100644
--- a/arch/sh/boot/Makefile
+++ b/arch/sh/boot/Makefile
@@ -32,12 +32,12 @@ $(obj)/zImage: $(obj)/compressed/vmlinux FORCE
32$(obj)/compressed/vmlinux: FORCE 32$(obj)/compressed/vmlinux: FORCE
33 $(Q)$(MAKE) $(build)=$(obj)/compressed $@ 33 $(Q)$(MAKE) $(build)=$(obj)/compressed $@
34 34
35KERNEL_LOAD := $(shell /bin/bash -c 'printf "0x%8x" \ 35KERNEL_LOAD := $(shell /bin/bash -c 'printf "0x%08x" \
36 $$[$(CONFIG_PAGE_OFFSET) + \ 36 $$[$(CONFIG_PAGE_OFFSET) + \
37 $(CONFIG_MEMORY_START) + \ 37 $(CONFIG_MEMORY_START) + \
38 $(CONFIG_ZERO_PAGE_OFFSET)]') 38 $(CONFIG_ZERO_PAGE_OFFSET)]')
39 39
40KERNEL_ENTRY := $(shell /bin/bash -c 'printf "0x%8x" \ 40KERNEL_ENTRY := $(shell /bin/bash -c 'printf "0x%08x" \
41 $$[$(CONFIG_PAGE_OFFSET) + \ 41 $$[$(CONFIG_PAGE_OFFSET) + \
42 $(CONFIG_MEMORY_START) + \ 42 $(CONFIG_MEMORY_START) + \
43 $(CONFIG_ZERO_PAGE_OFFSET)+0x1000]') 43 $(CONFIG_ZERO_PAGE_OFFSET)+0x1000]')
diff --git a/arch/sh/kernel/cpu/sh2/entry.S b/arch/sh/kernel/cpu/sh2/entry.S
index 7a26569e7956..0fc89069d8c7 100644
--- a/arch/sh/kernel/cpu/sh2/entry.S
+++ b/arch/sh/kernel/cpu/sh2/entry.S
@@ -267,7 +267,6 @@ ENTRY(sh_bios_handler)
267 267
268ENTRY(address_error_trap_handler) 268ENTRY(address_error_trap_handler)
269 mov r15,r4 ! regs 269 mov r15,r4 ! regs
270 add #4,r4
271 mov #OFF_PC,r0 270 mov #OFF_PC,r0
272 mov.l @(r0,r15),r6 ! pc 271 mov.l @(r0,r15),r6 ! pc
273 mov.l 1f,r0 272 mov.l 1f,r0
diff --git a/arch/sh/kernel/smp.c b/arch/sh/kernel/smp.c
index 94075e1a1e61..5d039d168f57 100644
--- a/arch/sh/kernel/smp.c
+++ b/arch/sh/kernel/smp.c
@@ -179,7 +179,7 @@ void smp_send_stop(void)
179} 179}
180 180
181struct smp_fn_call_struct smp_fn_call = { 181struct smp_fn_call_struct smp_fn_call = {
182 .lock = SPIN_LOCK_UNLOCKED, 182 .lock = __SPIN_LOCK_UNLOCKED(smp_fn_call.lock),
183 .finished = ATOMIC_INIT(0), 183 .finished = ATOMIC_INIT(0),
184}; 184};
185 185
diff --git a/drivers/serial/sh-sci.c b/drivers/serial/sh-sci.c
index a8c116b80bff..9d244d1644e1 100644
--- a/drivers/serial/sh-sci.c
+++ b/drivers/serial/sh-sci.c
@@ -414,12 +414,12 @@ static void sci_init_pins_scif(struct uart_port *port, unsigned int cflag)
414 defined(CONFIG_CPU_SUBTYPE_SH7785) 414 defined(CONFIG_CPU_SUBTYPE_SH7785)
415static inline int scif_txroom(struct uart_port *port) 415static inline int scif_txroom(struct uart_port *port)
416{ 416{
417 return SCIF_TXROOM_MAX - (sci_in(port, SCTFDR) & 0x7f); 417 return SCIF_TXROOM_MAX - (sci_in(port, SCTFDR) & 0xff);
418} 418}
419 419
420static inline int scif_rxroom(struct uart_port *port) 420static inline int scif_rxroom(struct uart_port *port)
421{ 421{
422 return sci_in(port, SCRFDR) & 0x7f; 422 return sci_in(port, SCRFDR) & 0xff;
423} 423}
424#else 424#else
425static inline int scif_txroom(struct uart_port *port) 425static inline int scif_txroom(struct uart_port *port)
diff --git a/include/asm-sh/byteorder.h b/include/asm-sh/byteorder.h
index 0eb9904b6545..4c13e6117563 100644
--- a/include/asm-sh/byteorder.h
+++ b/include/asm-sh/byteorder.h
@@ -11,13 +11,13 @@
11static inline __attribute_const__ __u32 ___arch__swab32(__u32 x) 11static inline __attribute_const__ __u32 ___arch__swab32(__u32 x)
12{ 12{
13 __asm__( 13 __asm__(
14#ifdef CONFIG_SUPERH32 14#ifdef __SH5__
15 "byterev %0, %0\n\t"
16 "shari %0, 32, %0"
17#else
15 "swap.b %0, %0\n\t" 18 "swap.b %0, %0\n\t"
16 "swap.w %0, %0\n\t" 19 "swap.w %0, %0\n\t"
17 "swap.b %0, %0" 20 "swap.b %0, %0"
18#else
19 "byterev %0, %0\n\t"
20 "shari %0, 32, %0"
21#endif 21#endif
22 : "=r" (x) 22 : "=r" (x)
23 : "0" (x)); 23 : "0" (x));
@@ -28,12 +28,11 @@ static inline __attribute_const__ __u32 ___arch__swab32(__u32 x)
28static inline __attribute_const__ __u16 ___arch__swab16(__u16 x) 28static inline __attribute_const__ __u16 ___arch__swab16(__u16 x)
29{ 29{
30 __asm__( 30 __asm__(
31#ifdef CONFIG_SUPERH32 31#ifdef __SH5__
32 "swap.b %0, %0"
33#else
34 "byterev %0, %0\n\t" 32 "byterev %0, %0\n\t"
35 "shari %0, 32, %0" 33 "shari %0, 32, %0"
36 34#else
35 "swap.b %0, %0"
37#endif 36#endif
38 : "=r" (x) 37 : "=r" (x)
39 : "0" (x)); 38 : "0" (x));
diff --git a/include/asm-sh/posix_types.h b/include/asm-sh/posix_types.h
index 4b9d11c9fc77..4eeb723aee7e 100644
--- a/include/asm-sh/posix_types.h
+++ b/include/asm-sh/posix_types.h
@@ -4,4 +4,10 @@
4# else 4# else
5# include "posix_types_64.h" 5# include "posix_types_64.h"
6# endif 6# endif
7#else
8# ifdef __SH5__
9# include "posix_types_64.h"
10# else
11# include "posix_types_32.h"
12# endif
7#endif /* __KERNEL__ */ 13#endif /* __KERNEL__ */