Commit 664481ed authored by Linus Torvalds's avatar Linus Torvalds

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.
parents d6a624ee a052d2c3
...@@ -61,6 +61,7 @@ config DUMP_CODE ...@@ -61,6 +61,7 @@ config DUMP_CODE
config DWARF_UNWINDER config DWARF_UNWINDER
bool "Enable the DWARF unwinder for stacktraces" bool "Enable the DWARF unwinder for stacktraces"
select FRAME_POINTER select FRAME_POINTER
depends on SUPERH32
default n default n
help help
Enabling this option will make stacktraces more accurate, at Enabling this option will make stacktraces more accurate, at
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
#include <cpu/sh7785.h> #include <cpu/sh7785.h>
#include <asm/heartbeat.h> #include <asm/heartbeat.h>
#include <asm/clock.h> #include <asm/clock.h>
#include <asm/bl_bit.h>
/* /*
* NOTE: This board has 2 physical memory maps. * NOTE: This board has 2 physical memory maps.
......
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
#include <linux/gfp.h> #include <linux/gfp.h>
#include <asm/io.h> #include <asm/io.h>
#include <asm/hd64461.h> #include <asm/hd64461.h>
#include <asm/bl_bit.h>
#include <mach/hp6xx.h> #include <mach/hp6xx.h>
#include <cpu/dac.h> #include <cpu/dac.h>
#include <asm/freq.h> #include <asm/freq.h>
......
...@@ -54,7 +54,7 @@ static int __init dma_subsys_init(void) ...@@ -54,7 +54,7 @@ static int __init dma_subsys_init(void)
if (unlikely(ret)) if (unlikely(ret))
return ret; return ret;
return device_create_file(dma_subsys.dev_root, &dev_attr_devices.attr); return device_create_file(dma_subsys.dev_root, &dev_attr_devices);
} }
postcore_initcall(dma_subsys_init); postcore_initcall(dma_subsys_init);
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
#include <linux/slab.h> #include <linux/slab.h>
#include <asm/processor.h> #include <asm/processor.h>
#include <asm/fpu.h> #include <asm/fpu.h>
#include <asm/traps.h>
int init_fpu(struct task_struct *tsk) int init_fpu(struct task_struct *tsk)
{ {
......
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
#include <asm/processor.h> #include <asm/processor.h>
#include <asm/io.h> #include <asm/io.h>
#include <asm/fpu.h> #include <asm/fpu.h>
#include <asm/traps.h>
/* The PR (precision) bit in the FP Status Register must be clear when /* The PR (precision) bit in the FP Status Register must be clear when
* an frchg instruction is executed, otherwise the instruction is undefined. * an frchg instruction is executed, otherwise the instruction is undefined.
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
#include <cpu/fpu.h> #include <cpu/fpu.h>
#include <asm/processor.h> #include <asm/processor.h>
#include <asm/fpu.h> #include <asm/fpu.h>
#include <asm/traps.h>
/* The PR (precision) bit in the FP Status Register must be clear when /* The PR (precision) bit in the FP Status Register must be clear when
* an frchg instruction is executed, otherwise the instruction is undefined. * an frchg instruction is executed, otherwise the instruction is undefined.
......
...@@ -113,7 +113,7 @@ static struct clk_lookup lookups[] = { ...@@ -113,7 +113,7 @@ static struct clk_lookup lookups[] = {
CLKDEV_CON_ID("cpu_clk", &div4_clks[DIV4_I]), CLKDEV_CON_ID("cpu_clk", &div4_clks[DIV4_I]),
/* MSTP32 clocks */ /* MSTP32 clocks */
CLKDEV_CON_ID("sdhi0", &mstp_clks[MSTP004]), CLKDEV_DEV_ID("sh_mobile_sdhi.0", &mstp_clks[MSTP004]),
CLKDEV_CON_ID("riic0", &mstp_clks[MSTP000]), CLKDEV_CON_ID("riic0", &mstp_clks[MSTP000]),
CLKDEV_CON_ID("riic1", &mstp_clks[MSTP000]), CLKDEV_CON_ID("riic1", &mstp_clks[MSTP000]),
CLKDEV_CON_ID("riic2", &mstp_clks[MSTP000]), CLKDEV_CON_ID("riic2", &mstp_clks[MSTP000]),
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
#include <asm/suspend.h> #include <asm/suspend.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
#include <asm/cacheflush.h> #include <asm/cacheflush.h>
#include <asm/bl_bit.h>
/* /*
* Notifier lists for pre/post sleep notification * Notifier lists for pre/post sleep notification
......
...@@ -17,8 +17,8 @@ ...@@ -17,8 +17,8 @@
#include <linux/irqflags.h> #include <linux/irqflags.h>
#include <linux/smp.h> #include <linux/smp.h>
#include <linux/cpuidle.h> #include <linux/cpuidle.h>
#include <asm/pgalloc.h>
#include <linux/atomic.h> #include <linux/atomic.h>
#include <asm/pgalloc.h>
#include <asm/smp.h> #include <asm/smp.h>
#include <asm/bl_bit.h> #include <asm/bl_bit.h>
......
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
#include <linux/irq.h> #include <linux/irq.h>
#include <linux/io.h> #include <linux/io.h>
#include <asm/cacheflush.h> #include <asm/cacheflush.h>
#include <asm/traps.h>
/* Macros for single step instruction identification */ /* Macros for single step instruction identification */
#define OPCODE_BT(op) (((op) & 0xff00) == 0x8900) #define OPCODE_BT(op) (((op) & 0xff00) == 0x8900)
......
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
#include <asm/mmu_context.h> #include <asm/mmu_context.h>
#include <asm/fpu.h> #include <asm/fpu.h>
#include <asm/syscalls.h> #include <asm/syscalls.h>
#include <asm/switch_to.h>
void show_regs(struct pt_regs * regs) void show_regs(struct pt_regs * regs)
{ {
......
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
#include <asm/smp.h> #include <asm/smp.h>
#include <asm/cacheflush.h> #include <asm/cacheflush.h>
#include <asm/sections.h> #include <asm/sections.h>
#include <asm/setup.h>
int __cpu_number_map[NR_CPUS]; /* Map physical to logical */ int __cpu_number_map[NR_CPUS]; /* Map physical to logical */
int __cpu_logical_map[NR_CPUS]; /* Map logical to physical */ int __cpu_logical_map[NR_CPUS]; /* Map logical to physical */
......
...@@ -34,6 +34,41 @@ __kernel_rt_sigreturn: ...@@ -34,6 +34,41 @@ __kernel_rt_sigreturn:
1: .short __NR_rt_sigreturn 1: .short __NR_rt_sigreturn
.LEND_rt_sigreturn: .LEND_rt_sigreturn:
.size __kernel_rt_sigreturn,.-.LSTART_rt_sigreturn .size __kernel_rt_sigreturn,.-.LSTART_rt_sigreturn
.previous
.section .eh_frame,"a",@progbits .section .eh_frame,"a",@progbits
.LCIE1:
.ualong .LCIE1_end - .LCIE1_start
.LCIE1_start:
.ualong 0 /* CIE ID */
.byte 0x1 /* Version number */
.string "zRS" /* NUL-terminated augmentation string */
.uleb128 0x1 /* Code alignment factor */
.sleb128 -4 /* Data alignment factor */
.byte 0x11 /* Return address register column */
.uleb128 0x1 /* Augmentation length and data */
.byte 0x1b /* DW_EH_PE_pcrel | DW_EH_PE_sdata4. */
.byte 0xc, 0xf, 0x0 /* DW_CFA_def_cfa: r15 ofs 0 */
.align 2
.LCIE1_end:
.ualong .LFDE0_end-.LFDE0_start /* Length FDE0 */
.LFDE0_start:
.ualong .LFDE0_start-.LCIE1 /* CIE pointer */
.ualong .LSTART_sigreturn-. /* PC-relative start address */
.ualong .LEND_sigreturn-.LSTART_sigreturn
.uleb128 0 /* Augmentation */
.align 2
.LFDE0_end:
.ualong .LFDE1_end-.LFDE1_start /* Length FDE1 */
.LFDE1_start:
.ualong .LFDE1_start-.LCIE1 /* CIE pointer */
.ualong .LSTART_rt_sigreturn-. /* PC-relative start address */
.ualong .LEND_rt_sigreturn-.LSTART_rt_sigreturn
.uleb128 0 /* Augmentation */
.align 2
.LFDE1_end:
.previous .previous
...@@ -3,37 +3,34 @@ ...@@ -3,37 +3,34 @@
.type __kernel_vsyscall,@function .type __kernel_vsyscall,@function
__kernel_vsyscall: __kernel_vsyscall:
.LSTART_vsyscall: .LSTART_vsyscall:
/* XXX: We'll have to do something here once we opt to use the vDSO trapa #0x10
* page for something other than the signal trampoline.. as well as nop
* fill out .eh_frame -- PFM. */
.LEND_vsyscall: .LEND_vsyscall:
.size __kernel_vsyscall,.-.LSTART_vsyscall .size __kernel_vsyscall,.-.LSTART_vsyscall
.previous
.section .eh_frame,"a",@progbits .section .eh_frame,"a",@progbits
.previous
.LCIE: .LCIE:
.ualong .LCIE_end - .LCIE_start .ualong .LCIE_end - .LCIE_start
.LCIE_start: .LCIE_start:
.ualong 0 /* CIE ID */ .ualong 0 /* CIE ID */
.byte 0x1 /* Version number */ .byte 0x1 /* Version number */
.string "zRS" /* NUL-terminated augmentation string */ .string "zR" /* NUL-terminated augmentation string */
.uleb128 0x1 /* Code alignment factor */ .uleb128 0x1 /* Code alignment factor */
.sleb128 -4 /* Data alignment factor */ .sleb128 -4 /* Data alignment factor */
.byte 0x11 /* Return address register column */ .byte 0x11 /* Return address register column */
/* Augmentation length and data (none) */ .uleb128 0x1 /* Augmentation length and data */
.byte 0xc /* DW_CFA_def_cfa */ .byte 0x1b /* DW_EH_PE_pcrel | DW_EH_PE_sdata4. */
.uleb128 0xf /* r15 */ .byte 0xc,0xf,0x0 /* DW_CFA_def_cfa: r15 ofs 0 */
.uleb128 0x0 /* offset 0 */
.align 2 .align 2
.LCIE_end: .LCIE_end:
.ualong .LFDE_end-.LFDE_start /* Length FDE */ .ualong .LFDE_end-.LFDE_start /* Length FDE */
.LFDE_start: .LFDE_start:
.ualong .LCIE /* CIE pointer */ .ualong .LFDE_start-.LCIE /* CIE pointer */
.ualong .LSTART_vsyscall-. /* start address */ .ualong .LSTART_vsyscall-. /* PC-relative start address */
.ualong .LEND_vsyscall-.LSTART_vsyscall .ualong .LEND_vsyscall-.LSTART_vsyscall
.uleb128 0 .uleb128 0 /* Augmentation */
.align 2 .align 2
.LFDE_end: .LFDE_end:
.previous .previous
......
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
#include <linux/highmem.h> #include <linux/highmem.h>
#include <asm/pgtable.h> #include <asm/pgtable.h>
#include <asm/mmu_context.h> #include <asm/mmu_context.h>
#include <asm/cache_insns.h>
#include <asm/cacheflush.h> #include <asm/cacheflush.h>
/* /*
......
#include <linux/mm.h> #include <linux/mm.h>
#include <asm/mmu_context.h> #include <asm/mmu_context.h>
#include <asm/cache_insns.h>
#include <asm/cacheflush.h> #include <asm/cacheflush.h>
#include <asm/traps.h> #include <asm/traps.h>
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
*/ */
#include <linux/init.h> #include <linux/init.h>
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/errno.h>
#include <asm/sram.h> #include <asm/sram.h>
/* /*
......
This diff is collapsed.
...@@ -20,10 +20,10 @@ ...@@ -20,10 +20,10 @@
defined(CONFIG_ARCH_SH7372) || \ defined(CONFIG_ARCH_SH7372) || \
defined(CONFIG_ARCH_R8A7740) defined(CONFIG_ARCH_R8A7740)
# define SCxSR_RDxF_CLEAR(port) (sci_in(port, SCxSR) & 0xfffc) # define SCxSR_RDxF_CLEAR(port) (serial_port_in(port, SCxSR) & 0xfffc)
# define SCxSR_ERROR_CLEAR(port) (sci_in(port, SCxSR) & 0xfd73) # define SCxSR_ERROR_CLEAR(port) (serial_port_in(port, SCxSR) & 0xfd73)
# define SCxSR_TDxE_CLEAR(port) (sci_in(port, SCxSR) & 0xffdf) # define SCxSR_TDxE_CLEAR(port) (serial_port_in(port, SCxSR) & 0xffdf)
# define SCxSR_BREAK_CLEAR(port) (sci_in(port, SCxSR) & 0xffe3) # define SCxSR_BREAK_CLEAR(port) (serial_port_in(port, SCxSR) & 0xffe3)
#else #else
# define SCxSR_RDxF_CLEAR(port) (((port)->type == PORT_SCI) ? 0xbc : 0x00fc) # define SCxSR_RDxF_CLEAR(port) (((port)->type == PORT_SCI) ? 0xbc : 0x00fc)
# define SCxSR_ERROR_CLEAR(port) (((port)->type == PORT_SCI) ? 0xc4 : 0x0073) # define SCxSR_ERROR_CLEAR(port) (((port)->type == PORT_SCI) ? 0xc4 : 0x0073)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment