瀏覽代碼

sh: More cosmetic cleanups and trivial fixes.

Nothing exciting here, just trivial fixes..

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt 18 年之前
父節點
當前提交
0f08f33808

+ 6 - 4
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)
 
 
 static int sh_dmac_request_dma(struct dma_channel *chan)
 static int sh_dmac_request_dma(struct dma_channel *chan)
 {
 {
-	char name[32];
-
 	if (unlikely(!chan->flags & DMA_TEI_CAPABLE))
 	if (unlikely(!chan->flags & DMA_TEI_CAPABLE))
 		return 0;
 		return 0;
 
 
-	snprintf(name, sizeof(name), "DMAC Transfer End (Channel %d)",
+	chan->name = kzalloc(32, GFP_KERNEL);
+	if (unlikely(chan->name == NULL))
+		return -ENOMEM;
+	snprintf(chan->name, 32, "DMAC Transfer End (Channel %d)",
 		 chan->chan);
 		 chan->chan);
 
 
 	return request_irq(get_dmte_irq(chan->chan), dma_tei,
 	return request_irq(get_dmte_irq(chan->chan), dma_tei,
-			   IRQF_DISABLED, name, chan);
+			   IRQF_DISABLED, chan->name, chan);
 }
 }
 
 
 static void sh_dmac_free_dma(struct dma_channel *chan)
 static void sh_dmac_free_dma(struct dma_channel *chan)
 {
 {
 	free_irq(get_dmte_irq(chan->chan), chan);
 	free_irq(get_dmte_irq(chan->chan), chan);
+	kfree(chan->name);
 }
 }
 
 
 static void
 static void

+ 1 - 0
arch/sh/drivers/pci/ops-titan.c

@@ -16,6 +16,7 @@
 #include <linux/kernel.h>
 #include <linux/kernel.h>
 #include <linux/types.h>
 #include <linux/types.h>
 #include <linux/init.h>
 #include <linux/init.h>
+#include <linux/pci.h>
 #include <asm/io.h>
 #include <asm/io.h>
 #include <asm/titan.h>
 #include <asm/titan.h>
 #include "pci-sh4.h"
 #include "pci-sh4.h"

+ 1 - 1
arch/sh/kernel/setup.c

@@ -507,7 +507,7 @@ static int show_cpuinfo(struct seq_file *m, void *v)
 	 * unified cache on the SH-2 and SH-3, as well as the harvard
 	 * unified cache on the SH-2 and SH-3, as well as the harvard
 	 * style cache on the SH-4.
 	 * style cache on the SH-4.
 	 */
 	 */
-	if (test_bit(SH_CACHE_COMBINED, &(boot_cpu_data.icache.flags))) {
+	if (boot_cpu_data.icache.flags & SH_CACHE_COMBINED) {
 		seq_printf(m, "unified\n");
 		seq_printf(m, "unified\n");
 		show_cacheinfo(m, "cache", boot_cpu_data.icache);
 		show_cacheinfo(m, "cache", boot_cpu_data.icache);
 	} else {
 	} else {

+ 0 - 15
arch/sh/kernel/sh_ksyms.c

@@ -27,20 +27,11 @@ EXPORT_SYMBOL(sh_mv);
 
 
 /* platform dependent support */
 /* platform dependent support */
 EXPORT_SYMBOL(dump_fpu);
 EXPORT_SYMBOL(dump_fpu);
-EXPORT_SYMBOL(enable_irq);
-EXPORT_SYMBOL(disable_irq);
-EXPORT_SYMBOL(probe_irq_mask);
 EXPORT_SYMBOL(kernel_thread);
 EXPORT_SYMBOL(kernel_thread);
-EXPORT_SYMBOL(disable_irq_nosync);
 EXPORT_SYMBOL(irq_desc);
 EXPORT_SYMBOL(irq_desc);
 EXPORT_SYMBOL(no_irq_type);
 EXPORT_SYMBOL(no_irq_type);
 
 
-EXPORT_SYMBOL(strstr);
 EXPORT_SYMBOL(strlen);
 EXPORT_SYMBOL(strlen);
-EXPORT_SYMBOL(strnlen);
-EXPORT_SYMBOL(strchr);
-EXPORT_SYMBOL(strcat);
-EXPORT_SYMBOL(strncat);
 
 
 /* PCI exports */
 /* PCI exports */
 #ifdef CONFIG_PCI
 #ifdef CONFIG_PCI
@@ -51,13 +42,8 @@ EXPORT_SYMBOL(pci_free_consistent);
 /* mem exports */
 /* mem exports */
 EXPORT_SYMBOL(memchr);
 EXPORT_SYMBOL(memchr);
 EXPORT_SYMBOL(memcpy);
 EXPORT_SYMBOL(memcpy);
-EXPORT_SYMBOL(memcpy_fromio);
-EXPORT_SYMBOL(memcpy_toio);
 EXPORT_SYMBOL(memset);
 EXPORT_SYMBOL(memset);
-EXPORT_SYMBOL(memset_io);
 EXPORT_SYMBOL(memmove);
 EXPORT_SYMBOL(memmove);
-EXPORT_SYMBOL(memcmp);
-EXPORT_SYMBOL(memscan);
 EXPORT_SYMBOL(__copy_user);
 EXPORT_SYMBOL(__copy_user);
 EXPORT_SYMBOL(boot_cpu_data);
 EXPORT_SYMBOL(boot_cpu_data);
 
 
@@ -124,5 +110,4 @@ EXPORT_SYMBOL(csum_partial);
 #ifdef CONFIG_IPV6
 #ifdef CONFIG_IPV6
 EXPORT_SYMBOL(csum_ipv6_magic);
 EXPORT_SYMBOL(csum_ipv6_magic);
 #endif
 #endif
-EXPORT_SYMBOL(consistent_sync);
 EXPORT_SYMBOL(clear_page);
 EXPORT_SYMBOL(clear_page);

+ 6 - 13
arch/sh/mm/cache-sh7705.c

@@ -9,7 +9,6 @@
  * for more details.
  * for more details.
  *
  *
  */
  */
-
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/mman.h>
 #include <linux/mman.h>
 #include <linux/mm.h>
 #include <linux/mm.h>
@@ -25,14 +24,10 @@
 #include <asm/mmu_context.h>
 #include <asm/mmu_context.h>
 #include <asm/cacheflush.h>
 #include <asm/cacheflush.h>
 
 
-/* The 32KB cache on the SH7705 suffers from the same synonym problem
- * as SH4 CPUs */
-
-#define __pte_offset(address) \
-		((address >> PAGE_SHIFT) & (PTRS_PER_PTE - 1))
-#define pte_offset(dir, address) ((pte_t *) pmd_page_vaddr(*(dir)) + \
-		__pte_offset(address))
-
+/*
+ * The 32KB cache on the SH7705 suffers from the same synonym problem
+ * as SH4 CPUs
+ */
 static inline void cache_wback_all(void)
 static inline void cache_wback_all(void)
 {
 {
 	unsigned long ways, waysize, addrstart;
 	unsigned long ways, waysize, addrstart;
@@ -73,7 +68,6 @@ void flush_icache_range(unsigned long start, unsigned long end)
 	__flush_wback_region((void *)start, end - start);
 	__flush_wback_region((void *)start, end - start);
 }
 }
 
 
-
 /*
 /*
  * Writeback&Invalidate the D-cache of the page
  * Writeback&Invalidate the D-cache of the page
  */
  */
@@ -128,7 +122,6 @@ static void __flush_dcache_page(unsigned long phys)
 	local_irq_restore(flags);
 	local_irq_restore(flags);
 }
 }
 
 
-
 /*
 /*
  * Write back & invalidate the D-cache of the page.
  * Write back & invalidate the D-cache of the page.
  * (To avoid "alias" issues)
  * (To avoid "alias" issues)
@@ -186,7 +179,8 @@ void flush_cache_range(struct vm_area_struct *vma, unsigned long start,
  *
  *
  * ADDRESS: Virtual Address (U0 address)
  * ADDRESS: Virtual Address (U0 address)
  */
  */
-void flush_cache_page(struct vm_area_struct *vma, unsigned long address, unsigned long pfn)
+void flush_cache_page(struct vm_area_struct *vma, unsigned long address,
+		      unsigned long pfn)
 {
 {
 	__flush_dcache_page(pfn << PAGE_SHIFT);
 	__flush_dcache_page(pfn << PAGE_SHIFT);
 }
 }
@@ -203,4 +197,3 @@ void flush_icache_page(struct vm_area_struct *vma, struct page *page)
 {
 {
 	__flush_purge_region(page_address(page), PAGE_SIZE);
 	__flush_purge_region(page_address(page), PAGE_SIZE);
 }
 }
-

+ 8 - 5
arch/sh/mm/fault.c

@@ -13,6 +13,8 @@
  */
  */
 #include <linux/kernel.h>
 #include <linux/kernel.h>
 #include <linux/mm.h>
 #include <linux/mm.h>
+#include <linux/hardirq.h>
+#include <linux/kprobes.h>
 #include <asm/system.h>
 #include <asm/system.h>
 #include <asm/mmu_context.h>
 #include <asm/mmu_context.h>
 #include <asm/kgdb.h>
 #include <asm/kgdb.h>
@@ -188,15 +190,16 @@ do_sigbus:
 /*
 /*
  * Called with interrupts disabled.
  * Called with interrupts disabled.
  */
  */
-asmlinkage int __do_page_fault(struct pt_regs *regs, unsigned long writeaccess,
-			       unsigned long address)
+asmlinkage int __kprobes __do_page_fault(struct pt_regs *regs,
+					 unsigned long writeaccess,
+					 unsigned long address)
 {
 {
 	pgd_t *pgd;
 	pgd_t *pgd;
 	pud_t *pud;
 	pud_t *pud;
 	pmd_t *pmd;
 	pmd_t *pmd;
 	pte_t *pte;
 	pte_t *pte;
 	pte_t entry;
 	pte_t entry;
-	struct mm_struct *mm;
+	struct mm_struct *mm = current->mm;
 	spinlock_t *ptl;
 	spinlock_t *ptl;
 	int ret = 1;
 	int ret = 1;
 
 
@@ -214,10 +217,10 @@ asmlinkage int __do_page_fault(struct pt_regs *regs, unsigned long writeaccess,
 		pgd = pgd_offset_k(address);
 		pgd = pgd_offset_k(address);
 		mm = NULL;
 		mm = NULL;
 	} else {
 	} else {
-		if (unlikely(address >= TASK_SIZE || !(mm = current->mm)))
+		if (unlikely(address >= TASK_SIZE || !mm))
 			return 1;
 			return 1;
 
 
-		pgd = pgd_offset(current->mm, address);
+		pgd = pgd_offset(mm, address);
 	}
 	}
 
 
 	pud = pud_offset(pgd, address);
 	pud = pud_offset(pgd, address);

+ 0 - 4
arch/sh/mm/pmb.c

@@ -337,10 +337,8 @@ static int __init pmb_init(void)
 
 
 	return 0;
 	return 0;
 }
 }
-
 arch_initcall(pmb_init);
 arch_initcall(pmb_init);
 
 
-#ifdef CONFIG_DEBUG_FS
 static int pmb_seq_show(struct seq_file *file, void *iter)
 static int pmb_seq_show(struct seq_file *file, void *iter)
 {
 {
 	int i;
 	int i;
@@ -399,6 +397,4 @@ static int __init pmb_debugfs_init(void)
 
 
 	return 0;
 	return 0;
 }
 }
-
 postcore_initcall(pmb_debugfs_init);
 postcore_initcall(pmb_debugfs_init);
-#endif

+ 1 - 0
include/asm-sh/dma.h

@@ -89,6 +89,7 @@ struct dma_channel {
 	wait_queue_head_t wait_queue;
 	wait_queue_head_t wait_queue;
 
 
 	struct sys_device dev;
 	struct sys_device dev;
+	char *name;
 };
 };
 
 
 struct dma_info {
 struct dma_info {

+ 5 - 0
include/asm-sh/irq.h

@@ -334,6 +334,11 @@ extern void enable_irq(unsigned int);
 extern void make_maskreg_irq(unsigned int irq);
 extern void make_maskreg_irq(unsigned int irq);
 extern unsigned short *irq_mask_register;
 extern unsigned short *irq_mask_register;
 
 
+/*
+ * PINT IRQs
+ */
+void init_IRQ_pint(void);
+
 /*
 /*
  * Function for "on chip support modules".
  * Function for "on chip support modules".
  */
  */

+ 2 - 0
include/asm-sh/kexec.h

@@ -23,6 +23,8 @@
 /* The native architecture */
 /* The native architecture */
 #define KEXEC_ARCH KEXEC_ARCH_SH
 #define KEXEC_ARCH KEXEC_ARCH_SH
 
 
+#define MAX_NOTE_BYTES 1024
+
 #ifndef __ASSEMBLY__
 #ifndef __ASSEMBLY__
 
 
 extern void machine_shutdown(void);
 extern void machine_shutdown(void);

+ 5 - 31
include/asm-sh/system.h

@@ -79,7 +79,7 @@ static inline void sched_cacheflush(void)
 }
 }
 #endif
 #endif
 
 
-static __inline__ unsigned long tas(volatile int *m)
+static inline unsigned long tas(volatile int *m)
 {
 {
 	unsigned long retval;
 	unsigned long retval;
 
 
@@ -161,7 +161,7 @@ static inline void local_irq_enable(void)
 }
 }
 #endif
 #endif
 
 
-static __inline__ void local_irq_disable(void)
+static inline void local_irq_disable(void)
 {
 {
 	unsigned long __dummy;
 	unsigned long __dummy;
 	__asm__ __volatile__("stc	sr, %0\n\t"
 	__asm__ __volatile__("stc	sr, %0\n\t"
@@ -172,7 +172,7 @@ static __inline__ void local_irq_disable(void)
 			     : "memory");
 			     : "memory");
 }
 }
 
 
-static __inline__ void set_bl_bit(void)
+static inline void set_bl_bit(void)
 {
 {
 	unsigned long __dummy0, __dummy1;
 	unsigned long __dummy0, __dummy1;
 
 
@@ -185,7 +185,7 @@ static __inline__ void set_bl_bit(void)
 			     : "memory");
 			     : "memory");
 }
 }
 
 
-static __inline__ void clear_bl_bit(void)
+static inline void clear_bl_bit(void)
 {
 {
 	unsigned long __dummy0, __dummy1;
 	unsigned long __dummy0, __dummy1;
 
 
@@ -207,7 +207,7 @@ static __inline__ void clear_bl_bit(void)
 	(flags != 0);			\
 	(flags != 0);			\
 })
 })
 
 
-static __inline__ unsigned long local_irq_save(void)
+static inline unsigned long local_irq_save(void)
 {
 {
 	unsigned long flags, __dummy;
 	unsigned long flags, __dummy;
 
 
@@ -223,36 +223,10 @@ static __inline__ unsigned long local_irq_save(void)
 	return flags;
 	return flags;
 }
 }
 
 
-#ifdef DEBUG_CLI_STI
-static __inline__ void  local_irq_restore(unsigned long x)
-{
-	if ((x & 0x000000f0) != 0x000000f0)
-		local_irq_enable();
-	else {
-		unsigned long flags;
-		local_save_flags(flags);
-
-		if (flags == 0) {
-			extern void dump_stack(void);
-			printk(KERN_ERR "BUG!\n");
-			dump_stack();
-			local_irq_disable();
-		}
-	}
-}
-#else
 #define local_irq_restore(x) do {			\
 #define local_irq_restore(x) do {			\
 	if ((x & 0x000000f0) != 0x000000f0)		\
 	if ((x & 0x000000f0) != 0x000000f0)		\
 		local_irq_enable();			\
 		local_irq_enable();			\
 } while (0)
 } while (0)
-#endif
-
-#define really_restore_flags(x) do {			\
-	if ((x & 0x000000f0) != 0x000000f0)		\
-		local_irq_enable();			\
-	else						\
-		local_irq_disable();			\
-} while (0)
 
 
 /*
 /*
  * Jump to P2 area.
  * Jump to P2 area.