aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2006-09-27 04:03:56 -0400
committerPaul Mundt <lethal@linux-sh.org>2006-09-27 04:03:56 -0400
commit0f08f338083cc1d68788ccbccc44bd0502fc57ae (patch)
tree97c69dbbd63a108a7367644dadedd390a3948f0c /arch/sh
parent9e3043c091819729ecf4fc5063d0a2d0954dfd7f (diff)
sh: More cosmetic cleanups and trivial fixes.
Nothing exciting here, just trivial fixes.. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh')
-rw-r--r--arch/sh/drivers/dma/dma-sh.c10
-rw-r--r--arch/sh/drivers/pci/ops-titan.c1
-rw-r--r--arch/sh/kernel/setup.c2
-rw-r--r--arch/sh/kernel/sh_ksyms.c15
-rw-r--r--arch/sh/mm/cache-sh7705.c19
-rw-r--r--arch/sh/mm/fault.c13
-rw-r--r--arch/sh/mm/pmb.c4
7 files changed, 22 insertions, 42 deletions
diff --git a/arch/sh/drivers/dma/dma-sh.c b/arch/sh/drivers/dma/dma-sh.c
index 40a480d20aaf..cbbe8bce3d67 100644
--- a/arch/sh/drivers/dma/dma-sh.c
+++ b/arch/sh/drivers/dma/dma-sh.c
@@ -80,21 +80,23 @@ static irqreturn_t dma_tei(int irq, void *dev_id, struct pt_regs *regs)
80 80
81static int sh_dmac_request_dma(struct dma_channel *chan) 81static int sh_dmac_request_dma(struct dma_channel *chan)
82{ 82{
83 char name[32];
84
85 if (unlikely(!chan->flags & DMA_TEI_CAPABLE)) 83 if (unlikely(!chan->flags & DMA_TEI_CAPABLE))
86 return 0; 84 return 0;
87 85
88 snprintf(name, sizeof(name), "DMAC Transfer End (Channel %d)", 86 chan->name = kzalloc(32, GFP_KERNEL);
87 if (unlikely(chan->name == NULL))
88 return -ENOMEM;
89 snprintf(chan->name, 32, "DMAC Transfer End (Channel %d)",
89 chan->chan); 90 chan->chan);
90 91
91 return request_irq(get_dmte_irq(chan->chan), dma_tei, 92 return request_irq(get_dmte_irq(chan->chan), dma_tei,
92 IRQF_DISABLED, name, chan); 93 IRQF_DISABLED, chan->name, chan);
93} 94}
94 95
95static void sh_dmac_free_dma(struct dma_channel *chan) 96static void sh_dmac_free_dma(struct dma_channel *chan)
96{ 97{
97 free_irq(get_dmte_irq(chan->chan), chan); 98 free_irq(get_dmte_irq(chan->chan), chan);
99 kfree(chan->name);
98} 100}
99 101
100static void 102static void
diff --git a/arch/sh/drivers/pci/ops-titan.c b/arch/sh/drivers/pci/ops-titan.c
index 9c8b2027c35d..c6097bcd97fd 100644
--- a/arch/sh/drivers/pci/ops-titan.c
+++ b/arch/sh/drivers/pci/ops-titan.c
@@ -16,6 +16,7 @@
16#include <linux/kernel.h> 16#include <linux/kernel.h>
17#include <linux/types.h> 17#include <linux/types.h>
18#include <linux/init.h> 18#include <linux/init.h>
19#include <linux/pci.h>
19#include <asm/io.h> 20#include <asm/io.h>
20#include <asm/titan.h> 21#include <asm/titan.h>
21#include "pci-sh4.h" 22#include "pci-sh4.h"
diff --git a/arch/sh/kernel/setup.c b/arch/sh/kernel/setup.c
index cff8d36f91b0..4afdec071700 100644
--- a/arch/sh/kernel/setup.c
+++ b/arch/sh/kernel/setup.c
@@ -507,7 +507,7 @@ static int show_cpuinfo(struct seq_file *m, void *v)
507 * unified cache on the SH-2 and SH-3, as well as the harvard 507 * unified cache on the SH-2 and SH-3, as well as the harvard
508 * style cache on the SH-4. 508 * style cache on the SH-4.
509 */ 509 */
510 if (test_bit(SH_CACHE_COMBINED, &(boot_cpu_data.icache.flags))) { 510 if (boot_cpu_data.icache.flags & SH_CACHE_COMBINED) {
511 seq_printf(m, "unified\n"); 511 seq_printf(m, "unified\n");
512 show_cacheinfo(m, "cache", boot_cpu_data.icache); 512 show_cacheinfo(m, "cache", boot_cpu_data.icache);
513 } else { 513 } else {
diff --git a/arch/sh/kernel/sh_ksyms.c b/arch/sh/kernel/sh_ksyms.c
index fd73ab0326e9..7f3a42244cab 100644
--- a/arch/sh/kernel/sh_ksyms.c
+++ b/arch/sh/kernel/sh_ksyms.c
@@ -27,20 +27,11 @@ EXPORT_SYMBOL(sh_mv);
27 27
28/* platform dependent support */ 28/* platform dependent support */
29EXPORT_SYMBOL(dump_fpu); 29EXPORT_SYMBOL(dump_fpu);
30EXPORT_SYMBOL(enable_irq);
31EXPORT_SYMBOL(disable_irq);
32EXPORT_SYMBOL(probe_irq_mask);
33EXPORT_SYMBOL(kernel_thread); 30EXPORT_SYMBOL(kernel_thread);
34EXPORT_SYMBOL(disable_irq_nosync);
35EXPORT_SYMBOL(irq_desc); 31EXPORT_SYMBOL(irq_desc);
36EXPORT_SYMBOL(no_irq_type); 32EXPORT_SYMBOL(no_irq_type);
37 33
38EXPORT_SYMBOL(strstr);
39EXPORT_SYMBOL(strlen); 34EXPORT_SYMBOL(strlen);
40EXPORT_SYMBOL(strnlen);
41EXPORT_SYMBOL(strchr);
42EXPORT_SYMBOL(strcat);
43EXPORT_SYMBOL(strncat);
44 35
45/* PCI exports */ 36/* PCI exports */
46#ifdef CONFIG_PCI 37#ifdef CONFIG_PCI
@@ -51,13 +42,8 @@ EXPORT_SYMBOL(pci_free_consistent);
51/* mem exports */ 42/* mem exports */
52EXPORT_SYMBOL(memchr); 43EXPORT_SYMBOL(memchr);
53EXPORT_SYMBOL(memcpy); 44EXPORT_SYMBOL(memcpy);
54EXPORT_SYMBOL(memcpy_fromio);
55EXPORT_SYMBOL(memcpy_toio);
56EXPORT_SYMBOL(memset); 45EXPORT_SYMBOL(memset);
57EXPORT_SYMBOL(memset_io);
58EXPORT_SYMBOL(memmove); 46EXPORT_SYMBOL(memmove);
59EXPORT_SYMBOL(memcmp);
60EXPORT_SYMBOL(memscan);
61EXPORT_SYMBOL(__copy_user); 47EXPORT_SYMBOL(__copy_user);
62EXPORT_SYMBOL(boot_cpu_data); 48EXPORT_SYMBOL(boot_cpu_data);
63 49
@@ -124,5 +110,4 @@ EXPORT_SYMBOL(csum_partial);
124#ifdef CONFIG_IPV6 110#ifdef CONFIG_IPV6
125EXPORT_SYMBOL(csum_ipv6_magic); 111EXPORT_SYMBOL(csum_ipv6_magic);
126#endif 112#endif
127EXPORT_SYMBOL(consistent_sync);
128EXPORT_SYMBOL(clear_page); 113EXPORT_SYMBOL(clear_page);
diff --git a/arch/sh/mm/cache-sh7705.c b/arch/sh/mm/cache-sh7705.c
index bf94eedb0a8e..045abdf078f5 100644
--- a/arch/sh/mm/cache-sh7705.c
+++ b/arch/sh/mm/cache-sh7705.c
@@ -9,7 +9,6 @@
9 * for more details. 9 * for more details.
10 * 10 *
11 */ 11 */
12
13#include <linux/init.h> 12#include <linux/init.h>
14#include <linux/mman.h> 13#include <linux/mman.h>
15#include <linux/mm.h> 14#include <linux/mm.h>
@@ -25,14 +24,10 @@
25#include <asm/mmu_context.h> 24#include <asm/mmu_context.h>
26#include <asm/cacheflush.h> 25#include <asm/cacheflush.h>
27 26
28/* The 32KB cache on the SH7705 suffers from the same synonym problem 27/*
29 * as SH4 CPUs */ 28 * The 32KB cache on the SH7705 suffers from the same synonym problem
30 29 * as SH4 CPUs
31#define __pte_offset(address) \ 30 */
32 ((address >> PAGE_SHIFT) & (PTRS_PER_PTE - 1))
33#define pte_offset(dir, address) ((pte_t *) pmd_page_vaddr(*(dir)) + \
34 __pte_offset(address))
35
36static inline void cache_wback_all(void) 31static inline void cache_wback_all(void)
37{ 32{
38 unsigned long ways, waysize, addrstart; 33 unsigned long ways, waysize, addrstart;
@@ -73,7 +68,6 @@ void flush_icache_range(unsigned long start, unsigned long end)
73 __flush_wback_region((void *)start, end - start); 68 __flush_wback_region((void *)start, end - start);
74} 69}
75 70
76
77/* 71/*
78 * Writeback&Invalidate the D-cache of the page 72 * Writeback&Invalidate the D-cache of the page
79 */ 73 */
@@ -128,7 +122,6 @@ static void __flush_dcache_page(unsigned long phys)
128 local_irq_restore(flags); 122 local_irq_restore(flags);
129} 123}
130 124
131
132/* 125/*
133 * Write back & invalidate the D-cache of the page. 126 * Write back & invalidate the D-cache of the page.
134 * (To avoid "alias" issues) 127 * (To avoid "alias" issues)
@@ -186,7 +179,8 @@ void flush_cache_range(struct vm_area_struct *vma, unsigned long start,
186 * 179 *
187 * ADDRESS: Virtual Address (U0 address) 180 * ADDRESS: Virtual Address (U0 address)
188 */ 181 */
189void flush_cache_page(struct vm_area_struct *vma, unsigned long address, unsigned long pfn) 182void flush_cache_page(struct vm_area_struct *vma, unsigned long address,
183 unsigned long pfn)
190{ 184{
191 __flush_dcache_page(pfn << PAGE_SHIFT); 185 __flush_dcache_page(pfn << PAGE_SHIFT);
192} 186}
@@ -203,4 +197,3 @@ void flush_icache_page(struct vm_area_struct *vma, struct page *page)
203{ 197{
204 __flush_purge_region(page_address(page), PAGE_SIZE); 198 __flush_purge_region(page_address(page), PAGE_SIZE);
205} 199}
206
diff --git a/arch/sh/mm/fault.c b/arch/sh/mm/fault.c
index dc461d2bc183..c69fd603226a 100644
--- a/arch/sh/mm/fault.c
+++ b/arch/sh/mm/fault.c
@@ -13,6 +13,8 @@
13 */ 13 */
14#include <linux/kernel.h> 14#include <linux/kernel.h>
15#include <linux/mm.h> 15#include <linux/mm.h>
16#include <linux/hardirq.h>
17#include <linux/kprobes.h>
16#include <asm/system.h> 18#include <asm/system.h>
17#include <asm/mmu_context.h> 19#include <asm/mmu_context.h>
18#include <asm/kgdb.h> 20#include <asm/kgdb.h>
@@ -188,15 +190,16 @@ do_sigbus:
188/* 190/*
189 * Called with interrupts disabled. 191 * Called with interrupts disabled.
190 */ 192 */
191asmlinkage int __do_page_fault(struct pt_regs *regs, unsigned long writeaccess, 193asmlinkage int __kprobes __do_page_fault(struct pt_regs *regs,
192 unsigned long address) 194 unsigned long writeaccess,
195 unsigned long address)
193{ 196{
194 pgd_t *pgd; 197 pgd_t *pgd;
195 pud_t *pud; 198 pud_t *pud;
196 pmd_t *pmd; 199 pmd_t *pmd;
197 pte_t *pte; 200 pte_t *pte;
198 pte_t entry; 201 pte_t entry;
199 struct mm_struct *mm; 202 struct mm_struct *mm = current->mm;
200 spinlock_t *ptl; 203 spinlock_t *ptl;
201 int ret = 1; 204 int ret = 1;
202 205
@@ -214,10 +217,10 @@ asmlinkage int __do_page_fault(struct pt_regs *regs, unsigned long writeaccess,
214 pgd = pgd_offset_k(address); 217 pgd = pgd_offset_k(address);
215 mm = NULL; 218 mm = NULL;
216 } else { 219 } else {
217 if (unlikely(address >= TASK_SIZE || !(mm = current->mm))) 220 if (unlikely(address >= TASK_SIZE || !mm))
218 return 1; 221 return 1;
219 222
220 pgd = pgd_offset(current->mm, address); 223 pgd = pgd_offset(mm, address);
221 } 224 }
222 225
223 pud = pud_offset(pgd, address); 226 pud = pud_offset(pgd, address);
diff --git a/arch/sh/mm/pmb.c b/arch/sh/mm/pmb.c
index 819fd0faf022..92e745341e4d 100644
--- a/arch/sh/mm/pmb.c
+++ b/arch/sh/mm/pmb.c
@@ -337,10 +337,8 @@ static int __init pmb_init(void)
337 337
338 return 0; 338 return 0;
339} 339}
340
341arch_initcall(pmb_init); 340arch_initcall(pmb_init);
342 341
343#ifdef CONFIG_DEBUG_FS
344static int pmb_seq_show(struct seq_file *file, void *iter) 342static int pmb_seq_show(struct seq_file *file, void *iter)
345{ 343{
346 int i; 344 int i;
@@ -399,6 +397,4 @@ static int __init pmb_debugfs_init(void)
399 397
400 return 0; 398 return 0;
401} 399}
402
403postcore_initcall(pmb_debugfs_init); 400postcore_initcall(pmb_debugfs_init);
404#endif