diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-04-03 19:22:16 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-04-03 19:22:16 -0400 |
commit | 76ca7d1cca761bb9712dfcad9a27d70b520874ae (patch) | |
tree | 4af495beaeee26b126e3dc6f0aa644e8e0b9e24e /arch/sh | |
parent | d0cb5f71c5cde8e1ef6d03983641366800ceabdb (diff) | |
parent | 8d81e29fae18b93ab51f308b31babe1a6eb04314 (diff) |
Merge branch 'akpm' (incoming from Andrew)
Merge first patch-bomb from Andrew Morton:
- Various misc bits
- kmemleak fixes
- small befs, codafs, cifs, efs, freexxfs, hfsplus, minixfs, reiserfs things
- fanotify
- I appear to have become SuperH maintainer
- ocfs2 updates
- direct-io tweaks
- a bit of the MM queue
- printk updates
- MAINTAINERS maintenance
- some backlight things
- lib/ updates
- checkpatch updates
- the rtc queue
- nilfs2 updates
- Small Documentation/ updates
* emailed patches from Andrew Morton <akpm@linux-foundation.org>: (237 commits)
Documentation/SubmittingPatches: remove references to patch-scripts
Documentation/SubmittingPatches: update some dead URLs
Documentation/filesystems/ntfs.txt: remove changelog reference
Documentation/kmemleak.txt: updates
fs/reiserfs/super.c: add __init to init_inodecache
fs/reiserfs: move prototype declaration to header file
fs/hfsplus/attributes.c: add __init to hfsplus_create_attr_tree_cache()
fs/hfsplus/extents.c: fix concurrent acess of alloc_blocks
fs/hfsplus/extents.c: remove unused variable in hfsplus_get_block
nilfs2: update project's web site in nilfs2.txt
nilfs2: update MAINTAINERS file entries fix
nilfs2: verify metadata sizes read from disk
nilfs2: add FITRIM ioctl support for nilfs2
nilfs2: add nilfs_sufile_trim_fs to trim clean segs
nilfs2: implementation of NILFS_IOCTL_SET_SUINFO ioctl
nilfs2: add nilfs_sufile_set_suinfo to update segment usage
nilfs2: add struct nilfs_suinfo_update and flags
nilfs2: update MAINTAINERS file entries
fs/coda/inode.c: add __init to init_inodecache()
BEFS: logging cleanup
...
Diffstat (limited to 'arch/sh')
-rw-r--r-- | arch/sh/boards/board-sh7757lcr.c | 2 | ||||
-rw-r--r-- | arch/sh/drivers/pci/pcie-sh7786.h | 3 | ||||
-rw-r--r-- | arch/sh/include/asm/syscalls_32.h | 12 | ||||
-rw-r--r-- | arch/sh/include/asm/traps_32.h | 16 | ||||
-rw-r--r-- | arch/sh/kernel/cpu/sh4a/clock-sh7757.c | 2 | ||||
-rw-r--r-- | arch/sh/kernel/dumpstack.c | 2 | ||||
-rw-r--r-- | arch/sh/kernel/entry-common.S | 15 | ||||
-rw-r--r-- | arch/sh/kernel/signal_32.c | 12 | ||||
-rw-r--r-- | arch/sh/kernel/sys_sh32.c | 7 | ||||
-rw-r--r-- | arch/sh/kernel/traps_32.c | 23 | ||||
-rw-r--r-- | arch/sh/math-emu/math.c | 18 |
11 files changed, 34 insertions, 78 deletions
diff --git a/arch/sh/boards/board-sh7757lcr.c b/arch/sh/boards/board-sh7757lcr.c index 25c5a932f9fe..669df51a82e3 100644 --- a/arch/sh/boards/board-sh7757lcr.c +++ b/arch/sh/boards/board-sh7757lcr.c | |||
@@ -252,7 +252,7 @@ static struct sh_mobile_sdhi_info sdhi_info = { | |||
252 | static struct resource sdhi_resources[] = { | 252 | static struct resource sdhi_resources[] = { |
253 | [0] = { | 253 | [0] = { |
254 | .start = 0xffe50000, | 254 | .start = 0xffe50000, |
255 | .end = 0xffe501ff, | 255 | .end = 0xffe500ff, |
256 | .flags = IORESOURCE_MEM, | 256 | .flags = IORESOURCE_MEM, |
257 | }, | 257 | }, |
258 | [1] = { | 258 | [1] = { |
diff --git a/arch/sh/drivers/pci/pcie-sh7786.h b/arch/sh/drivers/pci/pcie-sh7786.h index 1ee054e47eae..4a6ff55f759b 100644 --- a/arch/sh/drivers/pci/pcie-sh7786.h +++ b/arch/sh/drivers/pci/pcie-sh7786.h | |||
@@ -145,9 +145,6 @@ | |||
145 | /* PCIERMSGIER */ | 145 | /* PCIERMSGIER */ |
146 | #define SH4A_PCIERMSGIER (0x004040) /* R/W - 0x0000 0000 32 */ | 146 | #define SH4A_PCIERMSGIER (0x004040) /* R/W - 0x0000 0000 32 */ |
147 | 147 | ||
148 | /* PCIEPHYCTLR */ | ||
149 | #define SH4A_PCIEPHYCTLR (0x010000) /* R/W - 0x0000 0000 32 */ | ||
150 | |||
151 | /* PCIEPHYADRR */ | 148 | /* PCIEPHYADRR */ |
152 | #define SH4A_PCIEPHYADRR (0x010004) /* R/W - 0x0000 0000 32 */ | 149 | #define SH4A_PCIEPHYADRR (0x010004) /* R/W - 0x0000 0000 32 */ |
153 | #define BITS_ACK (24) // Rev1.171 | 150 | #define BITS_ACK (24) // Rev1.171 |
diff --git a/arch/sh/include/asm/syscalls_32.h b/arch/sh/include/asm/syscalls_32.h index 4f97df87d7d5..4f643aa718e3 100644 --- a/arch/sh/include/asm/syscalls_32.h +++ b/arch/sh/include/asm/syscalls_32.h | |||
@@ -9,15 +9,9 @@ | |||
9 | 9 | ||
10 | struct pt_regs; | 10 | struct pt_regs; |
11 | 11 | ||
12 | asmlinkage int sys_sigreturn(unsigned long r4, unsigned long r5, | 12 | asmlinkage int sys_sigreturn(void); |
13 | unsigned long r6, unsigned long r7, | 13 | asmlinkage int sys_rt_sigreturn(void); |
14 | struct pt_regs __regs); | 14 | asmlinkage int sys_sh_pipe(void); |
15 | asmlinkage int sys_rt_sigreturn(unsigned long r4, unsigned long r5, | ||
16 | unsigned long r6, unsigned long r7, | ||
17 | struct pt_regs __regs); | ||
18 | asmlinkage int sys_sh_pipe(unsigned long r4, unsigned long r5, | ||
19 | unsigned long r6, unsigned long r7, | ||
20 | struct pt_regs __regs); | ||
21 | asmlinkage ssize_t sys_pread_wrapper(unsigned int fd, char __user *buf, | 15 | asmlinkage ssize_t sys_pread_wrapper(unsigned int fd, char __user *buf, |
22 | size_t count, long dummy, loff_t pos); | 16 | size_t count, long dummy, loff_t pos); |
23 | asmlinkage ssize_t sys_pwrite_wrapper(unsigned int fd, const char __user *buf, | 17 | asmlinkage ssize_t sys_pwrite_wrapper(unsigned int fd, const char __user *buf, |
diff --git a/arch/sh/include/asm/traps_32.h b/arch/sh/include/asm/traps_32.h index cfd55ff9dff2..17e129fe459c 100644 --- a/arch/sh/include/asm/traps_32.h +++ b/arch/sh/include/asm/traps_32.h | |||
@@ -42,18 +42,10 @@ static inline void trigger_address_error(void) | |||
42 | asmlinkage void do_address_error(struct pt_regs *regs, | 42 | asmlinkage void do_address_error(struct pt_regs *regs, |
43 | unsigned long writeaccess, | 43 | unsigned long writeaccess, |
44 | unsigned long address); | 44 | unsigned long address); |
45 | asmlinkage void do_divide_error(unsigned long r4, unsigned long r5, | 45 | asmlinkage void do_divide_error(unsigned long r4); |
46 | unsigned long r6, unsigned long r7, | 46 | asmlinkage void do_reserved_inst(void); |
47 | struct pt_regs __regs); | 47 | asmlinkage void do_illegal_slot_inst(void); |
48 | asmlinkage void do_reserved_inst(unsigned long r4, unsigned long r5, | 48 | asmlinkage void do_exception_error(void); |
49 | unsigned long r6, unsigned long r7, | ||
50 | struct pt_regs __regs); | ||
51 | asmlinkage void do_illegal_slot_inst(unsigned long r4, unsigned long r5, | ||
52 | unsigned long r6, unsigned long r7, | ||
53 | struct pt_regs __regs); | ||
54 | asmlinkage void do_exception_error(unsigned long r4, unsigned long r5, | ||
55 | unsigned long r6, unsigned long r7, | ||
56 | struct pt_regs __regs); | ||
57 | 49 | ||
58 | #define BUILD_TRAP_HANDLER(name) \ | 50 | #define BUILD_TRAP_HANDLER(name) \ |
59 | asmlinkage void name##_trap_handler(unsigned long r4, unsigned long r5, \ | 51 | asmlinkage void name##_trap_handler(unsigned long r4, unsigned long r5, \ |
diff --git a/arch/sh/kernel/cpu/sh4a/clock-sh7757.c b/arch/sh/kernel/cpu/sh4a/clock-sh7757.c index e84a43229b9c..5c0e3c335161 100644 --- a/arch/sh/kernel/cpu/sh4a/clock-sh7757.c +++ b/arch/sh/kernel/cpu/sh4a/clock-sh7757.c | |||
@@ -132,7 +132,7 @@ static struct clk_lookup lookups[] = { | |||
132 | CLKDEV_CON_ID("usb_fck", &mstp_clks[MSTP103]), | 132 | CLKDEV_CON_ID("usb_fck", &mstp_clks[MSTP103]), |
133 | CLKDEV_DEV_ID("renesas_usbhs.0", &mstp_clks[MSTP102]), | 133 | CLKDEV_DEV_ID("renesas_usbhs.0", &mstp_clks[MSTP102]), |
134 | CLKDEV_CON_ID("mmc0", &mstp_clks[MSTP220]), | 134 | CLKDEV_CON_ID("mmc0", &mstp_clks[MSTP220]), |
135 | CLKDEV_CON_ID("rspi2", &mstp_clks[MSTP127]), | 135 | CLKDEV_DEV_ID("rspi.2", &mstp_clks[MSTP127]), |
136 | }; | 136 | }; |
137 | 137 | ||
138 | int __init arch_clk_init(void) | 138 | int __init arch_clk_init(void) |
diff --git a/arch/sh/kernel/dumpstack.c b/arch/sh/kernel/dumpstack.c index b959f5592604..8dfe645bcc4b 100644 --- a/arch/sh/kernel/dumpstack.c +++ b/arch/sh/kernel/dumpstack.c | |||
@@ -115,7 +115,7 @@ static int print_trace_stack(void *data, char *name) | |||
115 | */ | 115 | */ |
116 | static void print_trace_address(void *data, unsigned long addr, int reliable) | 116 | static void print_trace_address(void *data, unsigned long addr, int reliable) |
117 | { | 117 | { |
118 | printk(data); | 118 | printk("%s", (char *)data); |
119 | printk_address(addr, reliable); | 119 | printk_address(addr, reliable); |
120 | } | 120 | } |
121 | 121 | ||
diff --git a/arch/sh/kernel/entry-common.S b/arch/sh/kernel/entry-common.S index ca46834294b7..13047a4facd2 100644 --- a/arch/sh/kernel/entry-common.S +++ b/arch/sh/kernel/entry-common.S | |||
@@ -193,10 +193,10 @@ syscall_trace_entry: | |||
193 | ! Reload R0-R4 from kernel stack, where the | 193 | ! Reload R0-R4 from kernel stack, where the |
194 | ! parent may have modified them using | 194 | ! parent may have modified them using |
195 | ! ptrace(POKEUSR). (Note that R0-R2 are | 195 | ! ptrace(POKEUSR). (Note that R0-R2 are |
196 | ! used by the system call handler directly | 196 | ! reloaded from the kernel stack by syscall_call |
197 | ! from the kernel stack anyway, so don't need | 197 | ! below, so don't need to be reloaded here.) |
198 | ! to be reloaded here.) This allows the parent | 198 | ! This allows the parent to rewrite system calls |
199 | ! to rewrite system calls and args on the fly. | 199 | ! and args on the fly. |
200 | mov.l @(OFF_R4,r15), r4 ! arg0 | 200 | mov.l @(OFF_R4,r15), r4 ! arg0 |
201 | mov.l @(OFF_R5,r15), r5 | 201 | mov.l @(OFF_R5,r15), r5 |
202 | mov.l @(OFF_R6,r15), r6 | 202 | mov.l @(OFF_R6,r15), r6 |
@@ -357,8 +357,15 @@ syscall_call: | |||
357 | mov.l 3f, r8 ! Load the address of sys_call_table | 357 | mov.l 3f, r8 ! Load the address of sys_call_table |
358 | add r8, r3 | 358 | add r8, r3 |
359 | mov.l @r3, r8 | 359 | mov.l @r3, r8 |
360 | mov.l @(OFF_R2,r15), r2 | ||
361 | mov.l @(OFF_R1,r15), r1 | ||
362 | mov.l @(OFF_R0,r15), r0 | ||
363 | mov.l r2, @-r15 | ||
364 | mov.l r1, @-r15 | ||
365 | mov.l r0, @-r15 | ||
360 | jsr @r8 ! jump to specific syscall handler | 366 | jsr @r8 ! jump to specific syscall handler |
361 | nop | 367 | nop |
368 | add #12, r15 | ||
362 | mov.l @(OFF_R0,r15), r12 ! save r0 | 369 | mov.l @(OFF_R0,r15), r12 ! save r0 |
363 | mov.l r0, @(OFF_R0,r15) ! save the return value | 370 | mov.l r0, @(OFF_R0,r15) ! save the return value |
364 | ! | 371 | ! |
diff --git a/arch/sh/kernel/signal_32.c b/arch/sh/kernel/signal_32.c index 6af6e7c5cac8..594cd371aa28 100644 --- a/arch/sh/kernel/signal_32.c +++ b/arch/sh/kernel/signal_32.c | |||
@@ -148,11 +148,9 @@ restore_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc, int *r0_p | |||
148 | return err; | 148 | return err; |
149 | } | 149 | } |
150 | 150 | ||
151 | asmlinkage int sys_sigreturn(unsigned long r4, unsigned long r5, | 151 | asmlinkage int sys_sigreturn(void) |
152 | unsigned long r6, unsigned long r7, | ||
153 | struct pt_regs __regs) | ||
154 | { | 152 | { |
155 | struct pt_regs *regs = RELOC_HIDE(&__regs, 0); | 153 | struct pt_regs *regs = current_pt_regs(); |
156 | struct sigframe __user *frame = (struct sigframe __user *)regs->regs[15]; | 154 | struct sigframe __user *frame = (struct sigframe __user *)regs->regs[15]; |
157 | sigset_t set; | 155 | sigset_t set; |
158 | int r0; | 156 | int r0; |
@@ -180,11 +178,9 @@ badframe: | |||
180 | return 0; | 178 | return 0; |
181 | } | 179 | } |
182 | 180 | ||
183 | asmlinkage int sys_rt_sigreturn(unsigned long r4, unsigned long r5, | 181 | asmlinkage int sys_rt_sigreturn(void) |
184 | unsigned long r6, unsigned long r7, | ||
185 | struct pt_regs __regs) | ||
186 | { | 182 | { |
187 | struct pt_regs *regs = RELOC_HIDE(&__regs, 0); | 183 | struct pt_regs *regs = current_pt_regs(); |
188 | struct rt_sigframe __user *frame = (struct rt_sigframe __user *)regs->regs[15]; | 184 | struct rt_sigframe __user *frame = (struct rt_sigframe __user *)regs->regs[15]; |
189 | sigset_t set; | 185 | sigset_t set; |
190 | int r0; | 186 | int r0; |
diff --git a/arch/sh/kernel/sys_sh32.c b/arch/sh/kernel/sys_sh32.c index 497bab3a0401..b66d1c62eb19 100644 --- a/arch/sh/kernel/sys_sh32.c +++ b/arch/sh/kernel/sys_sh32.c | |||
@@ -21,17 +21,14 @@ | |||
21 | * sys_pipe() is the normal C calling standard for creating | 21 | * sys_pipe() is the normal C calling standard for creating |
22 | * a pipe. It's not the way Unix traditionally does this, though. | 22 | * a pipe. It's not the way Unix traditionally does this, though. |
23 | */ | 23 | */ |
24 | asmlinkage int sys_sh_pipe(unsigned long r4, unsigned long r5, | 24 | asmlinkage int sys_sh_pipe(void) |
25 | unsigned long r6, unsigned long r7, | ||
26 | struct pt_regs __regs) | ||
27 | { | 25 | { |
28 | struct pt_regs *regs = RELOC_HIDE(&__regs, 0); | ||
29 | int fd[2]; | 26 | int fd[2]; |
30 | int error; | 27 | int error; |
31 | 28 | ||
32 | error = do_pipe_flags(fd, 0); | 29 | error = do_pipe_flags(fd, 0); |
33 | if (!error) { | 30 | if (!error) { |
34 | regs->regs[1] = fd[1]; | 31 | current_pt_regs()->regs[1] = fd[1]; |
35 | return fd[0]; | 32 | return fd[0]; |
36 | } | 33 | } |
37 | return error; | 34 | return error; |
diff --git a/arch/sh/kernel/traps_32.c b/arch/sh/kernel/traps_32.c index 68e99f09171d..ff639342a8be 100644 --- a/arch/sh/kernel/traps_32.c +++ b/arch/sh/kernel/traps_32.c | |||
@@ -594,9 +594,7 @@ int is_dsp_inst(struct pt_regs *regs) | |||
594 | #endif /* CONFIG_SH_DSP */ | 594 | #endif /* CONFIG_SH_DSP */ |
595 | 595 | ||
596 | #ifdef CONFIG_CPU_SH2A | 596 | #ifdef CONFIG_CPU_SH2A |
597 | asmlinkage void do_divide_error(unsigned long r4, unsigned long r5, | 597 | asmlinkage void do_divide_error(unsigned long r4) |
598 | unsigned long r6, unsigned long r7, | ||
599 | struct pt_regs __regs) | ||
600 | { | 598 | { |
601 | siginfo_t info; | 599 | siginfo_t info; |
602 | 600 | ||
@@ -613,11 +611,9 @@ asmlinkage void do_divide_error(unsigned long r4, unsigned long r5, | |||
613 | } | 611 | } |
614 | #endif | 612 | #endif |
615 | 613 | ||
616 | asmlinkage void do_reserved_inst(unsigned long r4, unsigned long r5, | 614 | asmlinkage void do_reserved_inst(void) |
617 | unsigned long r6, unsigned long r7, | ||
618 | struct pt_regs __regs) | ||
619 | { | 615 | { |
620 | struct pt_regs *regs = RELOC_HIDE(&__regs, 0); | 616 | struct pt_regs *regs = current_pt_regs(); |
621 | unsigned long error_code; | 617 | unsigned long error_code; |
622 | struct task_struct *tsk = current; | 618 | struct task_struct *tsk = current; |
623 | 619 | ||
@@ -701,11 +697,9 @@ static int emulate_branch(unsigned short inst, struct pt_regs *regs) | |||
701 | } | 697 | } |
702 | #endif | 698 | #endif |
703 | 699 | ||
704 | asmlinkage void do_illegal_slot_inst(unsigned long r4, unsigned long r5, | 700 | asmlinkage void do_illegal_slot_inst(void) |
705 | unsigned long r6, unsigned long r7, | ||
706 | struct pt_regs __regs) | ||
707 | { | 701 | { |
708 | struct pt_regs *regs = RELOC_HIDE(&__regs, 0); | 702 | struct pt_regs *regs = current_pt_regs(); |
709 | unsigned long inst; | 703 | unsigned long inst; |
710 | struct task_struct *tsk = current; | 704 | struct task_struct *tsk = current; |
711 | 705 | ||
@@ -730,15 +724,12 @@ asmlinkage void do_illegal_slot_inst(unsigned long r4, unsigned long r5, | |||
730 | die_if_no_fixup("illegal slot instruction", regs, inst); | 724 | die_if_no_fixup("illegal slot instruction", regs, inst); |
731 | } | 725 | } |
732 | 726 | ||
733 | asmlinkage void do_exception_error(unsigned long r4, unsigned long r5, | 727 | asmlinkage void do_exception_error(void) |
734 | unsigned long r6, unsigned long r7, | ||
735 | struct pt_regs __regs) | ||
736 | { | 728 | { |
737 | struct pt_regs *regs = RELOC_HIDE(&__regs, 0); | ||
738 | long ex; | 729 | long ex; |
739 | 730 | ||
740 | ex = lookup_exception_vector(); | 731 | ex = lookup_exception_vector(); |
741 | die_if_kernel("exception", regs, ex); | 732 | die_if_kernel("exception", current_pt_regs(), ex); |
742 | } | 733 | } |
743 | 734 | ||
744 | void per_cpu_trap_init(void) | 735 | void per_cpu_trap_init(void) |
diff --git a/arch/sh/math-emu/math.c b/arch/sh/math-emu/math.c index b876780c1e1c..04aa55fa8c75 100644 --- a/arch/sh/math-emu/math.c +++ b/arch/sh/math-emu/math.c | |||
@@ -574,24 +574,6 @@ static int ieee_fpe_handler(struct pt_regs *regs) | |||
574 | return 0; | 574 | return 0; |
575 | } | 575 | } |
576 | 576 | ||
577 | asmlinkage void do_fpu_error(unsigned long r4, unsigned long r5, | ||
578 | unsigned long r6, unsigned long r7, | ||
579 | struct pt_regs regs) | ||
580 | { | ||
581 | struct task_struct *tsk = current; | ||
582 | siginfo_t info; | ||
583 | |||
584 | if (ieee_fpe_handler (®s)) | ||
585 | return; | ||
586 | |||
587 | regs.pc += 2; | ||
588 | info.si_signo = SIGFPE; | ||
589 | info.si_errno = 0; | ||
590 | info.si_code = FPE_FLTINV; | ||
591 | info.si_addr = (void __user *)regs.pc; | ||
592 | force_sig_info(SIGFPE, &info, tsk); | ||
593 | } | ||
594 | |||
595 | /** | 577 | /** |
596 | * fpu_init - Initialize FPU registers | 578 | * fpu_init - Initialize FPU registers |
597 | * @fpu: Pointer to software emulated FPU registers. | 579 | * @fpu: Pointer to software emulated FPU registers. |