diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-04-07 12:52:46 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-04-07 12:52:46 -0400 |
commit | 664481ed45cdbda2ab853ddd3c2690b69aca9103 (patch) | |
tree | 6d0814ad0981ea94b1ffc0b54e33de38af793a43 /arch/sh | |
parent | d6a624eef128c97b35fcea47cd00ef22f005e7aa (diff) | |
parent | a052d2c31b7b87e9b4bdee634af666b5e830e56f (diff) |
Merge tag 'sh-for-linus' of git://github.com/pmundt/linux-sh
Pull SuperH fixes from Paul Mundt.
* tag 'sh-for-linus' of git://github.com/pmundt/linux-sh:
sh: fix clock-sh7757 for the latest sh_mobile_sdhi driver
serial: sh-sci: use serial_port_in/out vs sci_in/out.
sh: vsyscall: Fix up .eh_frame generation.
sh: dma: Fix up device attribute mismatch from sysdev fallout.
sh: dwarf unwinder depends on SHcompact.
sh: fix up fallout from system.h disintegration.
Diffstat (limited to 'arch/sh')
-rw-r--r-- | arch/sh/Kconfig.debug | 1 | ||||
-rw-r--r-- | arch/sh/boards/board-sh7785lcr.c | 1 | ||||
-rw-r--r-- | arch/sh/boards/mach-hp6xx/pm.c | 1 | ||||
-rw-r--r-- | arch/sh/drivers/dma/dma-sysfs.c | 2 | ||||
-rw-r--r-- | arch/sh/kernel/cpu/fpu.c | 1 | ||||
-rw-r--r-- | arch/sh/kernel/cpu/sh2a/fpu.c | 1 | ||||
-rw-r--r-- | arch/sh/kernel/cpu/sh4/fpu.c | 1 | ||||
-rw-r--r-- | arch/sh/kernel/cpu/sh4a/clock-sh7757.c | 2 | ||||
-rw-r--r-- | arch/sh/kernel/cpu/shmobile/pm.c | 1 | ||||
-rw-r--r-- | arch/sh/kernel/idle.c | 2 | ||||
-rw-r--r-- | arch/sh/kernel/kgdb.c | 1 | ||||
-rw-r--r-- | arch/sh/kernel/process_32.c | 1 | ||||
-rw-r--r-- | arch/sh/kernel/smp.c | 1 | ||||
-rw-r--r-- | arch/sh/kernel/vsyscall/vsyscall-sigreturn.S | 35 | ||||
-rw-r--r-- | arch/sh/kernel/vsyscall/vsyscall-trapa.S | 23 | ||||
-rw-r--r-- | arch/sh/mm/cache-sh4.c | 1 | ||||
-rw-r--r-- | arch/sh/mm/flush-sh4.c | 1 | ||||
-rw-r--r-- | arch/sh/mm/sram.c | 1 |
18 files changed, 61 insertions, 16 deletions
diff --git a/arch/sh/Kconfig.debug b/arch/sh/Kconfig.debug index c1d5a820b1aa..5f2bb4242c0f 100644 --- a/arch/sh/Kconfig.debug +++ b/arch/sh/Kconfig.debug | |||
@@ -61,6 +61,7 @@ config DUMP_CODE | |||
61 | config DWARF_UNWINDER | 61 | config DWARF_UNWINDER |
62 | bool "Enable the DWARF unwinder for stacktraces" | 62 | bool "Enable the DWARF unwinder for stacktraces" |
63 | select FRAME_POINTER | 63 | select FRAME_POINTER |
64 | depends on SUPERH32 | ||
64 | default n | 65 | default n |
65 | help | 66 | help |
66 | Enabling this option will make stacktraces more accurate, at | 67 | Enabling this option will make stacktraces more accurate, at |
diff --git a/arch/sh/boards/board-sh7785lcr.c b/arch/sh/boards/board-sh7785lcr.c index d879848f3cdd..d0d6221d7c2e 100644 --- a/arch/sh/boards/board-sh7785lcr.c +++ b/arch/sh/boards/board-sh7785lcr.c | |||
@@ -28,6 +28,7 @@ | |||
28 | #include <cpu/sh7785.h> | 28 | #include <cpu/sh7785.h> |
29 | #include <asm/heartbeat.h> | 29 | #include <asm/heartbeat.h> |
30 | #include <asm/clock.h> | 30 | #include <asm/clock.h> |
31 | #include <asm/bl_bit.h> | ||
31 | 32 | ||
32 | /* | 33 | /* |
33 | * NOTE: This board has 2 physical memory maps. | 34 | * NOTE: This board has 2 physical memory maps. |
diff --git a/arch/sh/boards/mach-hp6xx/pm.c b/arch/sh/boards/mach-hp6xx/pm.c index adc9b4bba828..8b50cf763c06 100644 --- a/arch/sh/boards/mach-hp6xx/pm.c +++ b/arch/sh/boards/mach-hp6xx/pm.c | |||
@@ -14,6 +14,7 @@ | |||
14 | #include <linux/gfp.h> | 14 | #include <linux/gfp.h> |
15 | #include <asm/io.h> | 15 | #include <asm/io.h> |
16 | #include <asm/hd64461.h> | 16 | #include <asm/hd64461.h> |
17 | #include <asm/bl_bit.h> | ||
17 | #include <mach/hp6xx.h> | 18 | #include <mach/hp6xx.h> |
18 | #include <cpu/dac.h> | 19 | #include <cpu/dac.h> |
19 | #include <asm/freq.h> | 20 | #include <asm/freq.h> |
diff --git a/arch/sh/drivers/dma/dma-sysfs.c b/arch/sh/drivers/dma/dma-sysfs.c index b1cb2715ad6e..67ee95603813 100644 --- a/arch/sh/drivers/dma/dma-sysfs.c +++ b/arch/sh/drivers/dma/dma-sysfs.c | |||
@@ -54,7 +54,7 @@ static int __init dma_subsys_init(void) | |||
54 | if (unlikely(ret)) | 54 | if (unlikely(ret)) |
55 | return ret; | 55 | return ret; |
56 | 56 | ||
57 | return device_create_file(dma_subsys.dev_root, &dev_attr_devices.attr); | 57 | return device_create_file(dma_subsys.dev_root, &dev_attr_devices); |
58 | } | 58 | } |
59 | postcore_initcall(dma_subsys_init); | 59 | postcore_initcall(dma_subsys_init); |
60 | 60 | ||
diff --git a/arch/sh/kernel/cpu/fpu.c b/arch/sh/kernel/cpu/fpu.c index 7f1b70cace35..f8f7af51c128 100644 --- a/arch/sh/kernel/cpu/fpu.c +++ b/arch/sh/kernel/cpu/fpu.c | |||
@@ -2,6 +2,7 @@ | |||
2 | #include <linux/slab.h> | 2 | #include <linux/slab.h> |
3 | #include <asm/processor.h> | 3 | #include <asm/processor.h> |
4 | #include <asm/fpu.h> | 4 | #include <asm/fpu.h> |
5 | #include <asm/traps.h> | ||
5 | 6 | ||
6 | int init_fpu(struct task_struct *tsk) | 7 | int init_fpu(struct task_struct *tsk) |
7 | { | 8 | { |
diff --git a/arch/sh/kernel/cpu/sh2a/fpu.c b/arch/sh/kernel/cpu/sh2a/fpu.c index 488d24e0cdf0..98bbaa447c93 100644 --- a/arch/sh/kernel/cpu/sh2a/fpu.c +++ b/arch/sh/kernel/cpu/sh2a/fpu.c | |||
@@ -14,6 +14,7 @@ | |||
14 | #include <asm/processor.h> | 14 | #include <asm/processor.h> |
15 | #include <asm/io.h> | 15 | #include <asm/io.h> |
16 | #include <asm/fpu.h> | 16 | #include <asm/fpu.h> |
17 | #include <asm/traps.h> | ||
17 | 18 | ||
18 | /* The PR (precision) bit in the FP Status Register must be clear when | 19 | /* The PR (precision) bit in the FP Status Register must be clear when |
19 | * an frchg instruction is executed, otherwise the instruction is undefined. | 20 | * an frchg instruction is executed, otherwise the instruction is undefined. |
diff --git a/arch/sh/kernel/cpu/sh4/fpu.c b/arch/sh/kernel/cpu/sh4/fpu.c index e74cd6c0f10d..69ab4d3c8d41 100644 --- a/arch/sh/kernel/cpu/sh4/fpu.c +++ b/arch/sh/kernel/cpu/sh4/fpu.c | |||
@@ -16,6 +16,7 @@ | |||
16 | #include <cpu/fpu.h> | 16 | #include <cpu/fpu.h> |
17 | #include <asm/processor.h> | 17 | #include <asm/processor.h> |
18 | #include <asm/fpu.h> | 18 | #include <asm/fpu.h> |
19 | #include <asm/traps.h> | ||
19 | 20 | ||
20 | /* The PR (precision) bit in the FP Status Register must be clear when | 21 | /* The PR (precision) bit in the FP Status Register must be clear when |
21 | * an frchg instruction is executed, otherwise the instruction is undefined. | 22 | * an frchg instruction is executed, otherwise the instruction is undefined. |
diff --git a/arch/sh/kernel/cpu/sh4a/clock-sh7757.c b/arch/sh/kernel/cpu/sh4a/clock-sh7757.c index 5853989586ed..04ab5aeaf920 100644 --- a/arch/sh/kernel/cpu/sh4a/clock-sh7757.c +++ b/arch/sh/kernel/cpu/sh4a/clock-sh7757.c | |||
@@ -113,7 +113,7 @@ static struct clk_lookup lookups[] = { | |||
113 | CLKDEV_CON_ID("cpu_clk", &div4_clks[DIV4_I]), | 113 | CLKDEV_CON_ID("cpu_clk", &div4_clks[DIV4_I]), |
114 | 114 | ||
115 | /* MSTP32 clocks */ | 115 | /* MSTP32 clocks */ |
116 | CLKDEV_CON_ID("sdhi0", &mstp_clks[MSTP004]), | 116 | CLKDEV_DEV_ID("sh_mobile_sdhi.0", &mstp_clks[MSTP004]), |
117 | CLKDEV_CON_ID("riic0", &mstp_clks[MSTP000]), | 117 | CLKDEV_CON_ID("riic0", &mstp_clks[MSTP000]), |
118 | CLKDEV_CON_ID("riic1", &mstp_clks[MSTP000]), | 118 | CLKDEV_CON_ID("riic1", &mstp_clks[MSTP000]), |
119 | CLKDEV_CON_ID("riic2", &mstp_clks[MSTP000]), | 119 | CLKDEV_CON_ID("riic2", &mstp_clks[MSTP000]), |
diff --git a/arch/sh/kernel/cpu/shmobile/pm.c b/arch/sh/kernel/cpu/shmobile/pm.c index a6f95ae4aae7..08d27fac8d08 100644 --- a/arch/sh/kernel/cpu/shmobile/pm.c +++ b/arch/sh/kernel/cpu/shmobile/pm.c | |||
@@ -16,6 +16,7 @@ | |||
16 | #include <asm/suspend.h> | 16 | #include <asm/suspend.h> |
17 | #include <asm/uaccess.h> | 17 | #include <asm/uaccess.h> |
18 | #include <asm/cacheflush.h> | 18 | #include <asm/cacheflush.h> |
19 | #include <asm/bl_bit.h> | ||
19 | 20 | ||
20 | /* | 21 | /* |
21 | * Notifier lists for pre/post sleep notification | 22 | * Notifier lists for pre/post sleep notification |
diff --git a/arch/sh/kernel/idle.c b/arch/sh/kernel/idle.c index 64852ecc6881..ee226e20c20c 100644 --- a/arch/sh/kernel/idle.c +++ b/arch/sh/kernel/idle.c | |||
@@ -17,8 +17,8 @@ | |||
17 | #include <linux/irqflags.h> | 17 | #include <linux/irqflags.h> |
18 | #include <linux/smp.h> | 18 | #include <linux/smp.h> |
19 | #include <linux/cpuidle.h> | 19 | #include <linux/cpuidle.h> |
20 | #include <asm/pgalloc.h> | ||
21 | #include <linux/atomic.h> | 20 | #include <linux/atomic.h> |
21 | #include <asm/pgalloc.h> | ||
22 | #include <asm/smp.h> | 22 | #include <asm/smp.h> |
23 | #include <asm/bl_bit.h> | 23 | #include <asm/bl_bit.h> |
24 | 24 | ||
diff --git a/arch/sh/kernel/kgdb.c b/arch/sh/kernel/kgdb.c index efb6d398dec3..b117781bfea2 100644 --- a/arch/sh/kernel/kgdb.c +++ b/arch/sh/kernel/kgdb.c | |||
@@ -14,6 +14,7 @@ | |||
14 | #include <linux/irq.h> | 14 | #include <linux/irq.h> |
15 | #include <linux/io.h> | 15 | #include <linux/io.h> |
16 | #include <asm/cacheflush.h> | 16 | #include <asm/cacheflush.h> |
17 | #include <asm/traps.h> | ||
17 | 18 | ||
18 | /* Macros for single step instruction identification */ | 19 | /* Macros for single step instruction identification */ |
19 | #define OPCODE_BT(op) (((op) & 0xff00) == 0x8900) | 20 | #define OPCODE_BT(op) (((op) & 0xff00) == 0x8900) |
diff --git a/arch/sh/kernel/process_32.c b/arch/sh/kernel/process_32.c index f72e3a951588..94273aaf78c1 100644 --- a/arch/sh/kernel/process_32.c +++ b/arch/sh/kernel/process_32.c | |||
@@ -26,6 +26,7 @@ | |||
26 | #include <asm/mmu_context.h> | 26 | #include <asm/mmu_context.h> |
27 | #include <asm/fpu.h> | 27 | #include <asm/fpu.h> |
28 | #include <asm/syscalls.h> | 28 | #include <asm/syscalls.h> |
29 | #include <asm/switch_to.h> | ||
29 | 30 | ||
30 | void show_regs(struct pt_regs * regs) | 31 | void show_regs(struct pt_regs * regs) |
31 | { | 32 | { |
diff --git a/arch/sh/kernel/smp.c b/arch/sh/kernel/smp.c index a17a14d32340..eaebdf6a5c77 100644 --- a/arch/sh/kernel/smp.c +++ b/arch/sh/kernel/smp.c | |||
@@ -27,6 +27,7 @@ | |||
27 | #include <asm/smp.h> | 27 | #include <asm/smp.h> |
28 | #include <asm/cacheflush.h> | 28 | #include <asm/cacheflush.h> |
29 | #include <asm/sections.h> | 29 | #include <asm/sections.h> |
30 | #include <asm/setup.h> | ||
30 | 31 | ||
31 | int __cpu_number_map[NR_CPUS]; /* Map physical to logical */ | 32 | int __cpu_number_map[NR_CPUS]; /* Map physical to logical */ |
32 | int __cpu_logical_map[NR_CPUS]; /* Map logical to physical */ | 33 | int __cpu_logical_map[NR_CPUS]; /* Map logical to physical */ |
diff --git a/arch/sh/kernel/vsyscall/vsyscall-sigreturn.S b/arch/sh/kernel/vsyscall/vsyscall-sigreturn.S index 555a64f124ca..23af17584054 100644 --- a/arch/sh/kernel/vsyscall/vsyscall-sigreturn.S +++ b/arch/sh/kernel/vsyscall/vsyscall-sigreturn.S | |||
@@ -34,6 +34,41 @@ __kernel_rt_sigreturn: | |||
34 | 1: .short __NR_rt_sigreturn | 34 | 1: .short __NR_rt_sigreturn |
35 | .LEND_rt_sigreturn: | 35 | .LEND_rt_sigreturn: |
36 | .size __kernel_rt_sigreturn,.-.LSTART_rt_sigreturn | 36 | .size __kernel_rt_sigreturn,.-.LSTART_rt_sigreturn |
37 | .previous | ||
37 | 38 | ||
38 | .section .eh_frame,"a",@progbits | 39 | .section .eh_frame,"a",@progbits |
40 | .LCIE1: | ||
41 | .ualong .LCIE1_end - .LCIE1_start | ||
42 | .LCIE1_start: | ||
43 | .ualong 0 /* CIE ID */ | ||
44 | .byte 0x1 /* Version number */ | ||
45 | .string "zRS" /* NUL-terminated augmentation string */ | ||
46 | .uleb128 0x1 /* Code alignment factor */ | ||
47 | .sleb128 -4 /* Data alignment factor */ | ||
48 | .byte 0x11 /* Return address register column */ | ||
49 | .uleb128 0x1 /* Augmentation length and data */ | ||
50 | .byte 0x1b /* DW_EH_PE_pcrel | DW_EH_PE_sdata4. */ | ||
51 | .byte 0xc, 0xf, 0x0 /* DW_CFA_def_cfa: r15 ofs 0 */ | ||
52 | |||
53 | .align 2 | ||
54 | .LCIE1_end: | ||
55 | |||
56 | .ualong .LFDE0_end-.LFDE0_start /* Length FDE0 */ | ||
57 | .LFDE0_start: | ||
58 | .ualong .LFDE0_start-.LCIE1 /* CIE pointer */ | ||
59 | .ualong .LSTART_sigreturn-. /* PC-relative start address */ | ||
60 | .ualong .LEND_sigreturn-.LSTART_sigreturn | ||
61 | .uleb128 0 /* Augmentation */ | ||
62 | .align 2 | ||
63 | .LFDE0_end: | ||
64 | |||
65 | .ualong .LFDE1_end-.LFDE1_start /* Length FDE1 */ | ||
66 | .LFDE1_start: | ||
67 | .ualong .LFDE1_start-.LCIE1 /* CIE pointer */ | ||
68 | .ualong .LSTART_rt_sigreturn-. /* PC-relative start address */ | ||
69 | .ualong .LEND_rt_sigreturn-.LSTART_rt_sigreturn | ||
70 | .uleb128 0 /* Augmentation */ | ||
71 | .align 2 | ||
72 | .LFDE1_end: | ||
73 | |||
39 | .previous | 74 | .previous |
diff --git a/arch/sh/kernel/vsyscall/vsyscall-trapa.S b/arch/sh/kernel/vsyscall/vsyscall-trapa.S index 3e70f851cdc6..0eb74d00690a 100644 --- a/arch/sh/kernel/vsyscall/vsyscall-trapa.S +++ b/arch/sh/kernel/vsyscall/vsyscall-trapa.S | |||
@@ -3,37 +3,34 @@ | |||
3 | .type __kernel_vsyscall,@function | 3 | .type __kernel_vsyscall,@function |
4 | __kernel_vsyscall: | 4 | __kernel_vsyscall: |
5 | .LSTART_vsyscall: | 5 | .LSTART_vsyscall: |
6 | /* XXX: We'll have to do something here once we opt to use the vDSO | 6 | trapa #0x10 |
7 | * page for something other than the signal trampoline.. as well as | 7 | nop |
8 | * fill out .eh_frame -- PFM. */ | ||
9 | .LEND_vsyscall: | 8 | .LEND_vsyscall: |
10 | .size __kernel_vsyscall,.-.LSTART_vsyscall | 9 | .size __kernel_vsyscall,.-.LSTART_vsyscall |
10 | .previous | ||
11 | 11 | ||
12 | .section .eh_frame,"a",@progbits | 12 | .section .eh_frame,"a",@progbits |
13 | .previous | ||
14 | .LCIE: | 13 | .LCIE: |
15 | .ualong .LCIE_end - .LCIE_start | 14 | .ualong .LCIE_end - .LCIE_start |
16 | .LCIE_start: | 15 | .LCIE_start: |
17 | .ualong 0 /* CIE ID */ | 16 | .ualong 0 /* CIE ID */ |
18 | .byte 0x1 /* Version number */ | 17 | .byte 0x1 /* Version number */ |
19 | .string "zRS" /* NUL-terminated augmentation string */ | 18 | .string "zR" /* NUL-terminated augmentation string */ |
20 | .uleb128 0x1 /* Code alignment factor */ | 19 | .uleb128 0x1 /* Code alignment factor */ |
21 | .sleb128 -4 /* Data alignment factor */ | 20 | .sleb128 -4 /* Data alignment factor */ |
22 | .byte 0x11 /* Return address register column */ | 21 | .byte 0x11 /* Return address register column */ |
23 | /* Augmentation length and data (none) */ | 22 | .uleb128 0x1 /* Augmentation length and data */ |
24 | .byte 0xc /* DW_CFA_def_cfa */ | 23 | .byte 0x1b /* DW_EH_PE_pcrel | DW_EH_PE_sdata4. */ |
25 | .uleb128 0xf /* r15 */ | 24 | .byte 0xc,0xf,0x0 /* DW_CFA_def_cfa: r15 ofs 0 */ |
26 | .uleb128 0x0 /* offset 0 */ | ||
27 | |||
28 | .align 2 | 25 | .align 2 |
29 | .LCIE_end: | 26 | .LCIE_end: |
30 | 27 | ||
31 | .ualong .LFDE_end-.LFDE_start /* Length FDE */ | 28 | .ualong .LFDE_end-.LFDE_start /* Length FDE */ |
32 | .LFDE_start: | 29 | .LFDE_start: |
33 | .ualong .LCIE /* CIE pointer */ | 30 | .ualong .LFDE_start-.LCIE /* CIE pointer */ |
34 | .ualong .LSTART_vsyscall-. /* start address */ | 31 | .ualong .LSTART_vsyscall-. /* PC-relative start address */ |
35 | .ualong .LEND_vsyscall-.LSTART_vsyscall | 32 | .ualong .LEND_vsyscall-.LSTART_vsyscall |
36 | .uleb128 0 | 33 | .uleb128 0 /* Augmentation */ |
37 | .align 2 | 34 | .align 2 |
38 | .LFDE_end: | 35 | .LFDE_end: |
39 | .previous | 36 | .previous |
diff --git a/arch/sh/mm/cache-sh4.c b/arch/sh/mm/cache-sh4.c index 112fea12522a..0e529285b28d 100644 --- a/arch/sh/mm/cache-sh4.c +++ b/arch/sh/mm/cache-sh4.c | |||
@@ -18,6 +18,7 @@ | |||
18 | #include <linux/highmem.h> | 18 | #include <linux/highmem.h> |
19 | #include <asm/pgtable.h> | 19 | #include <asm/pgtable.h> |
20 | #include <asm/mmu_context.h> | 20 | #include <asm/mmu_context.h> |
21 | #include <asm/cache_insns.h> | ||
21 | #include <asm/cacheflush.h> | 22 | #include <asm/cacheflush.h> |
22 | 23 | ||
23 | /* | 24 | /* |
diff --git a/arch/sh/mm/flush-sh4.c b/arch/sh/mm/flush-sh4.c index 75a17f5bfa14..0b85dd9dd3a7 100644 --- a/arch/sh/mm/flush-sh4.c +++ b/arch/sh/mm/flush-sh4.c | |||
@@ -1,5 +1,6 @@ | |||
1 | #include <linux/mm.h> | 1 | #include <linux/mm.h> |
2 | #include <asm/mmu_context.h> | 2 | #include <asm/mmu_context.h> |
3 | #include <asm/cache_insns.h> | ||
3 | #include <asm/cacheflush.h> | 4 | #include <asm/cacheflush.h> |
4 | #include <asm/traps.h> | 5 | #include <asm/traps.h> |
5 | 6 | ||
diff --git a/arch/sh/mm/sram.c b/arch/sh/mm/sram.c index bc156ec4545e..2d8fa718d55e 100644 --- a/arch/sh/mm/sram.c +++ b/arch/sh/mm/sram.c | |||
@@ -9,6 +9,7 @@ | |||
9 | */ | 9 | */ |
10 | #include <linux/init.h> | 10 | #include <linux/init.h> |
11 | #include <linux/kernel.h> | 11 | #include <linux/kernel.h> |
12 | #include <linux/errno.h> | ||
12 | #include <asm/sram.h> | 13 | #include <asm/sram.h> |
13 | 14 | ||
14 | /* | 15 | /* |