diff options
-rw-r--r-- | arch/sh/kernel/early_printk.c | 2 | ||||
-rw-r--r-- | arch/sh/kernel/machvec.c | 7 | ||||
-rw-r--r-- | arch/sh/kernel/ptrace.c | 1 | ||||
-rw-r--r-- | include/asm-sh/dma-mapping.h | 19 |
4 files changed, 28 insertions, 1 deletions
diff --git a/arch/sh/kernel/early_printk.c b/arch/sh/kernel/early_printk.c index 9833493d88..80b637c302 100644 --- a/arch/sh/kernel/early_printk.c +++ b/arch/sh/kernel/early_printk.c | |||
@@ -76,7 +76,7 @@ static void scif_sercon_putc(int c) | |||
76 | sci_in(&scif_port, SCxSR); | 76 | sci_in(&scif_port, SCxSR); |
77 | sci_out(&scif_port, SCxSR, 0xf3 & ~(0x20 | 0x40)); | 77 | sci_out(&scif_port, SCxSR, 0xf3 & ~(0x20 | 0x40)); |
78 | 78 | ||
79 | while ((sci_in(&scif_port, SCxSR) & 0x40) == 0); | 79 | while ((sci_in(&scif_port, SCxSR) & 0x40) == 0) |
80 | ; | 80 | ; |
81 | 81 | ||
82 | if (c == '\n') | 82 | if (c == '\n') |
diff --git a/arch/sh/kernel/machvec.c b/arch/sh/kernel/machvec.c index 23c5948f01..129b2cfd18 100644 --- a/arch/sh/kernel/machvec.c +++ b/arch/sh/kernel/machvec.c | |||
@@ -91,6 +91,13 @@ void __init sh_mv_setup(void) | |||
91 | (unsigned long)&__machvec_start); | 91 | (unsigned long)&__machvec_start); |
92 | 92 | ||
93 | /* | 93 | /* |
94 | * Sanity check for machvec section alignment. Ensure | ||
95 | * __initmv hasn't been misused. | ||
96 | */ | ||
97 | if (machvec_size % sizeof(struct sh_machine_vector)) | ||
98 | panic("machvec misaligned, invalid __initmv use?"); | ||
99 | |||
100 | /* | ||
94 | * If the machvec hasn't been preselected, use the first | 101 | * If the machvec hasn't been preselected, use the first |
95 | * vector (usually the only one) from .machvec.init. | 102 | * vector (usually the only one) from .machvec.init. |
96 | */ | 103 | */ |
diff --git a/arch/sh/kernel/ptrace.c b/arch/sh/kernel/ptrace.c index 891d1d46c9..f64a2d2416 100644 --- a/arch/sh/kernel/ptrace.c +++ b/arch/sh/kernel/ptrace.c | |||
@@ -93,6 +93,7 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data) | |||
93 | case PTRACE_PEEKTEXT: /* read word at location addr. */ | 93 | case PTRACE_PEEKTEXT: /* read word at location addr. */ |
94 | case PTRACE_PEEKDATA: | 94 | case PTRACE_PEEKDATA: |
95 | ret = generic_ptrace_peekdata(child, addr, data); | 95 | ret = generic_ptrace_peekdata(child, addr, data); |
96 | break; | ||
96 | 97 | ||
97 | /* read the word at location addr in the USER area. */ | 98 | /* read the word at location addr in the USER area. */ |
98 | case PTRACE_PEEKUSR: { | 99 | case PTRACE_PEEKUSR: { |
diff --git a/include/asm-sh/dma-mapping.h b/include/asm-sh/dma-mapping.h index 6f492ac3fa..84fefdaa01 100644 --- a/include/asm-sh/dma-mapping.h +++ b/include/asm-sh/dma-mapping.h | |||
@@ -160,6 +160,25 @@ static inline void dma_sync_single_for_device(struct device *dev, | |||
160 | dma_sync_single(dev, dma_handle, size, dir); | 160 | dma_sync_single(dev, dma_handle, size, dir); |
161 | } | 161 | } |
162 | 162 | ||
163 | static inline void dma_sync_single_range_for_cpu(struct device *dev, | ||
164 | dma_addr_t dma_handle, | ||
165 | unsigned long offset, | ||
166 | size_t size, | ||
167 | enum dma_data_direction direction) | ||
168 | { | ||
169 | dma_sync_single_for_cpu(dev, dma_handle+offset, size, direction); | ||
170 | } | ||
171 | |||
172 | static inline void dma_sync_single_range_for_device(struct device *dev, | ||
173 | dma_addr_t dma_handle, | ||
174 | unsigned long offset, | ||
175 | size_t size, | ||
176 | enum dma_data_direction direction) | ||
177 | { | ||
178 | dma_sync_single_for_device(dev, dma_handle+offset, size, direction); | ||
179 | } | ||
180 | |||
181 | |||
163 | static inline void dma_sync_sg_for_cpu(struct device *dev, | 182 | static inline void dma_sync_sg_for_cpu(struct device *dev, |
164 | struct scatterlist *sg, int nelems, | 183 | struct scatterlist *sg, int nelems, |
165 | enum dma_data_direction dir) | 184 | enum dma_data_direction dir) |