Commit 0f08f338 authored by Paul Mundt's avatar Paul Mundt

sh: More cosmetic cleanups and trivial fixes.

Nothing exciting here, just trivial fixes..
Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
parent 9e3043c0
...@@ -80,21 +80,23 @@ static irqreturn_t dma_tei(int irq, void *dev_id, struct pt_regs *regs) ...@@ -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
......
...@@ -16,6 +16,7 @@ ...@@ -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"
......
...@@ -507,7 +507,7 @@ static int show_cpuinfo(struct seq_file *m, void *v) ...@@ -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 {
......
...@@ -27,20 +27,11 @@ EXPORT_SYMBOL(sh_mv); ...@@ -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); ...@@ -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); ...@@ -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);
...@@ -9,7 +9,6 @@ ...@@ -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 @@ ...@@ -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 */ * 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))
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) ...@@ -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) ...@@ -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, ...@@ -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) ...@@ -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);
} }
...@@ -13,6 +13,8 @@ ...@@ -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 @@ asmlinkage void do_page_fault(struct pt_regs *regs, unsigned long writeaccess, ...@@ -188,15 +190,16 @@ asmlinkage void do_page_fault(struct pt_regs *regs, unsigned long writeaccess,
/* /*
* Called with interrupts disabled. * Called with interrupts disabled.
*/ */
asmlinkage int __do_page_fault(struct pt_regs *regs, unsigned long writeaccess, asmlinkage int __kprobes __do_page_fault(struct pt_regs *regs,
unsigned long address) 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, ...@@ -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);
......
...@@ -337,10 +337,8 @@ static int __init pmb_init(void) ...@@ -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) ...@@ -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
...@@ -89,6 +89,7 @@ struct dma_channel { ...@@ -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 {
......
...@@ -334,6 +334,11 @@ extern void enable_irq(unsigned int); ...@@ -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".
*/ */
......
...@@ -23,6 +23,8 @@ ...@@ -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);
......
...@@ -79,7 +79,7 @@ static inline void sched_cacheflush(void) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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.
......
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