diff options
Diffstat (limited to 'include/asm-sh')
-rw-r--r-- | include/asm-sh/.gitignore | 3 | ||||
-rw-r--r-- | include/asm-sh/bugs.h | 2 | ||||
-rw-r--r-- | include/asm-sh/cpu-sh3/rtc.h | 25 | ||||
-rw-r--r-- | include/asm-sh/cpu-sh4/rtc.h | 25 | ||||
-rw-r--r-- | include/asm-sh/ec3104/keyboard.h | 2 | ||||
-rw-r--r-- | include/asm-sh/elf.h | 1 | ||||
-rw-r--r-- | include/asm-sh/hs7751rvoip/io.h | 39 | ||||
-rw-r--r-- | include/asm-sh/mpc1211/keyboard.h | 4 | ||||
-rw-r--r-- | include/asm-sh/rts7751r2d/io.h | 37 | ||||
-rw-r--r-- | include/asm-sh/rts7751r2d/rts7751r2d.h | 3 | ||||
-rw-r--r-- | include/asm-sh/sfp-machine.h | 2 | ||||
-rw-r--r-- | include/asm-sh/spinlock.h | 13 | ||||
-rw-r--r-- | include/asm-sh/string.h | 15 | ||||
-rw-r--r-- | include/asm-sh/unistd.h | 70 |
14 files changed, 30 insertions, 211 deletions
diff --git a/include/asm-sh/.gitignore b/include/asm-sh/.gitignore new file mode 100644 index 00000000000..9218ef82b69 --- /dev/null +++ b/include/asm-sh/.gitignore @@ -0,0 +1,3 @@ +cpu +mach +machtypes.h diff --git a/include/asm-sh/bugs.h b/include/asm-sh/bugs.h index b4000c8bf31..beeea40f549 100644 --- a/include/asm-sh/bugs.h +++ b/include/asm-sh/bugs.h @@ -18,7 +18,7 @@ static void __init check_bugs(void) { extern char *get_cpu_subtype(void); extern unsigned long loops_per_jiffy; - char *p= &system_utsname.machine[2]; /* "sh" */ + char *p= &init_utsname()->machine[2]; /* "sh" */ cpu_data->loops_per_jiffy = loops_per_jiffy; diff --git a/include/asm-sh/cpu-sh3/rtc.h b/include/asm-sh/cpu-sh3/rtc.h deleted file mode 100644 index 2d926671115..00000000000 --- a/include/asm-sh/cpu-sh3/rtc.h +++ /dev/null @@ -1,25 +0,0 @@ -#ifndef __ASM_CPU_SH3_RTC_H -#define __ASM_CPU_SH3_RTC_H - -/* SH-3 RTC */ -#define R64CNT 0xfffffec0 -#define RSECCNT 0xfffffec2 -#define RMINCNT 0xfffffec4 -#define RHRCNT 0xfffffec6 -#define RWKCNT 0xfffffec8 -#define RDAYCNT 0xfffffeca -#define RMONCNT 0xfffffecc -#define RYRCNT 0xfffffece -#define RSECAR 0xfffffed0 -#define RMINAR 0xfffffed2 -#define RHRAR 0xfffffed4 -#define RWKAR 0xfffffed6 -#define RDAYAR 0xfffffed8 -#define RMONAR 0xfffffeda -#define RCR1 0xfffffedc -#define RCR2 0xfffffede - -#define RTC_BIT_INVERTED 0 /* No bug on SH7708, SH7709A */ - -#endif /* __ASM_CPU_SH3_RTC_H */ - diff --git a/include/asm-sh/cpu-sh4/rtc.h b/include/asm-sh/cpu-sh4/rtc.h deleted file mode 100644 index e091e32a67b..00000000000 --- a/include/asm-sh/cpu-sh4/rtc.h +++ /dev/null @@ -1,25 +0,0 @@ -#ifndef __ASM_CPU_SH4_RTC_H -#define __ASM_CPU_SH4_RTC_H - -/* SH-4 RTC */ -#define R64CNT 0xffc80000 -#define RSECCNT 0xffc80004 -#define RMINCNT 0xffc80008 -#define RHRCNT 0xffc8000c -#define RWKCNT 0xffc80010 -#define RDAYCNT 0xffc80014 -#define RMONCNT 0xffc80018 -#define RYRCNT 0xffc8001c /* 16bit */ -#define RSECAR 0xffc80020 -#define RMINAR 0xffc80024 -#define RHRAR 0xffc80028 -#define RWKAR 0xffc8002c -#define RDAYAR 0xffc80030 -#define RMONAR 0xffc80034 -#define RCR1 0xffc80038 -#define RCR2 0xffc8003c - -#define RTC_BIT_INVERTED 0x40 /* bug on SH7750, SH7750S */ - -#endif /* __ASM_CPU_SH4_RTC_H */ - diff --git a/include/asm-sh/ec3104/keyboard.h b/include/asm-sh/ec3104/keyboard.h index 0dee7b05b49..c1253a68319 100644 --- a/include/asm-sh/ec3104/keyboard.h +++ b/include/asm-sh/ec3104/keyboard.h @@ -6,8 +6,6 @@ extern char ec3104_kbd_unexpected_up(unsigned char); extern void ec3104_kbd_leds(unsigned char); extern void ec3104_kbd_init_hw(void); -#define SYSRQ_KEY 0x54 - #define kbd_sysrq_xlate ec3104_kbd_sysrq_xlate #define kbd_setkeycode ec3104_kbd_setkeycode #define kbd_getkeycode ec3104_kbd_getkeycode diff --git a/include/asm-sh/elf.h b/include/asm-sh/elf.h index 3a07ab40ac4..fc050fd7645 100644 --- a/include/asm-sh/elf.h +++ b/include/asm-sh/elf.h @@ -1,7 +1,6 @@ #ifndef __ASM_SH_ELF_H #define __ASM_SH_ELF_H -#include <asm/processor.h> #include <asm/auxvec.h> #include <asm/ptrace.h> #include <asm/user.h> diff --git a/include/asm-sh/hs7751rvoip/io.h b/include/asm-sh/hs7751rvoip/io.h deleted file mode 100644 index 513c8514001..00000000000 --- a/include/asm-sh/hs7751rvoip/io.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - * include/asm-sh/hs7751rvoip/hs7751rvoip.h - * - * Modified version of io_se.h for the hs7751rvoip-specific functions. - * - * May be copied or modified under the terms of the GNU General Public - * License. See linux/COPYING for more information. - * - * IO functions for an Renesas Technology sales HS7751RVOIP - */ - -#ifndef _ASM_SH_IO_HS7751RVOIP_H -#define _ASM_SH_IO_HS7751RVOIP_H - -#include <asm/io_generic.h> - -extern unsigned char hs7751rvoip_inb(unsigned long port); -extern unsigned short hs7751rvoip_inw(unsigned long port); -extern unsigned int hs7751rvoip_inl(unsigned long port); - -extern void hs7751rvoip_outb(unsigned char value, unsigned long port); -extern void hs7751rvoip_outw(unsigned short value, unsigned long port); -extern void hs7751rvoip_outl(unsigned int value, unsigned long port); - -extern unsigned char hs7751rvoip_inb_p(unsigned long port); -extern void hs7751rvoip_outb_p(unsigned char value, unsigned long port); - -extern void hs7751rvoip_insb(unsigned long port, void *addr, unsigned long count); -extern void hs7751rvoip_insw(unsigned long port, void *addr, unsigned long count); -extern void hs7751rvoip_insl(unsigned long port, void *addr, unsigned long count); -extern void hs7751rvoip_outsb(unsigned long port, const void *addr, unsigned long count); -extern void hs7751rvoip_outsw(unsigned long port, const void *addr, unsigned long count); -extern void hs7751rvoip_outsl(unsigned long port, const void *addr, unsigned long count); - -extern void *hs7751rvoip_ioremap(unsigned long offset, unsigned long size); - -extern unsigned long hs7751rvoip_isa_port2addr(unsigned long offset); - -#endif /* _ASM_SH_IO_HS7751RVOIP_H */ diff --git a/include/asm-sh/mpc1211/keyboard.h b/include/asm-sh/mpc1211/keyboard.h index 71ef4cf4242..9020feee7b4 100644 --- a/include/asm-sh/mpc1211/keyboard.h +++ b/include/asm-sh/mpc1211/keyboard.h @@ -24,7 +24,6 @@ extern void pckbd_leds(unsigned char leds); extern void pckbd_init_hw(void); extern int pckbd_pm_resume(struct pm_dev *, pm_request_t, void *); extern pm_callback pm_kbd_request_override; -extern unsigned char pckbd_sysrq_xlate[128]; #define kbd_setkeycode pckbd_setkeycode #define kbd_getkeycode pckbd_getkeycode @@ -32,9 +31,6 @@ extern unsigned char pckbd_sysrq_xlate[128]; #define kbd_unexpected_up pckbd_unexpected_up #define kbd_leds pckbd_leds #define kbd_init_hw pckbd_init_hw -#define kbd_sysrq_xlate pckbd_sysrq_xlate - -#define SYSRQ_KEY 0x54 /* resource allocation */ #define kbd_request_region() diff --git a/include/asm-sh/rts7751r2d/io.h b/include/asm-sh/rts7751r2d/io.h deleted file mode 100644 index 24109402056..00000000000 --- a/include/asm-sh/rts7751r2d/io.h +++ /dev/null @@ -1,37 +0,0 @@ -/* - * include/asm-sh/io_rts7751r2d.h - * - * Modified version of io_se.h for the rts7751r2d-specific functions. - * - * May be copied or modified under the terms of the GNU General Public - * License. See linux/COPYING for more information. - * - * IO functions for an Renesas Technology sales RTS7751R2D - */ - -#ifndef _ASM_SH_IO_RTS7751R2D_H -#define _ASM_SH_IO_RTS7751R2D_H - -extern unsigned char rts7751r2d_inb(unsigned long port); -extern unsigned short rts7751r2d_inw(unsigned long port); -extern unsigned int rts7751r2d_inl(unsigned long port); - -extern void rts7751r2d_outb(unsigned char value, unsigned long port); -extern void rts7751r2d_outw(unsigned short value, unsigned long port); -extern void rts7751r2d_outl(unsigned int value, unsigned long port); - -extern unsigned char rts7751r2d_inb_p(unsigned long port); -extern void rts7751r2d_outb_p(unsigned char value, unsigned long port); - -extern void rts7751r2d_insb(unsigned long port, void *addr, unsigned long count); -extern void rts7751r2d_insw(unsigned long port, void *addr, unsigned long count); -extern void rts7751r2d_insl(unsigned long port, void *addr, unsigned long count); -extern void rts7751r2d_outsb(unsigned long port, const void *addr, unsigned long count); -extern void rts7751r2d_outsw(unsigned long port, const void *addr, unsigned long count); -extern void rts7751r2d_outsl(unsigned long port, const void *addr, unsigned long count); - -extern void *rts7751r2d_ioremap(unsigned long offset, unsigned long size); - -extern unsigned long rts7751r2d_isa_port2addr(unsigned long offset); - -#endif /* _ASM_SH_IO_RTS7751R2D_H */ diff --git a/include/asm-sh/rts7751r2d/rts7751r2d.h b/include/asm-sh/rts7751r2d/rts7751r2d.h index b112ae221fd..796b8fcb81a 100644 --- a/include/asm-sh/rts7751r2d/rts7751r2d.h +++ b/include/asm-sh/rts7751r2d/rts7751r2d.h @@ -68,4 +68,7 @@ #define IRQ_PCISLOT2 10 /* PCI Slot #2 IRQ */ #define IRQ_EXTENTION 11 /* EXTn IRQ */ +#define __IO_PREFIX rts7751r2d +#include <asm/io_generic.h> + #endif /* __ASM_SH_RENESAS_RTS7751R2D */ diff --git a/include/asm-sh/sfp-machine.h b/include/asm-sh/sfp-machine.h index 8a6399a8cfe..d3c548443f2 100644 --- a/include/asm-sh/sfp-machine.h +++ b/include/asm-sh/sfp-machine.h @@ -25,8 +25,6 @@ #ifndef _SFP_MACHINE_H #define _SFP_MACHINE_H -#include <linux/config.h> - #define _FP_W_TYPE_SIZE 32 #define _FP_W_TYPE unsigned long #define _FP_WS_TYPE signed long diff --git a/include/asm-sh/spinlock.h b/include/asm-sh/spinlock.h index 846322d4c35..2586eef07d5 100644 --- a/include/asm-sh/spinlock.h +++ b/include/asm-sh/spinlock.h @@ -88,7 +88,14 @@ static inline void __raw_write_unlock(raw_rwlock_t *rw) __raw_spin_unlock(&rw->lock); } -#define __raw_read_trylock(lock) generic__raw_read_trylock(lock) +static inline int __raw_read_trylock(raw_rwlock_t *lock) +{ + atomic_t *count = (atomic_t*)lock; + if (atomic_dec_return(count) >= 0) + return 1; + atomic_inc(count); + return 0; +} static inline int __raw_write_trylock(raw_rwlock_t *rw) { @@ -100,4 +107,8 @@ static inline int __raw_write_trylock(raw_rwlock_t *rw) return 0; } +#define _raw_spin_relax(lock) cpu_relax() +#define _raw_read_relax(lock) cpu_relax() +#define _raw_write_relax(lock) cpu_relax() + #endif /* __ASM_SH_SPINLOCK_H */ diff --git a/include/asm-sh/string.h b/include/asm-sh/string.h index 3e0cff04cae..95bc7db006b 100644 --- a/include/asm-sh/string.h +++ b/include/asm-sh/string.h @@ -1,13 +1,15 @@ #ifndef __ASM_SH_STRING_H #define __ASM_SH_STRING_H +#ifdef __KERNEL__ + /* * Copyright (C) 1999 Niibe Yutaka * But consider these trivial functions to be public domain. */ #define __HAVE_ARCH_STRCPY -static __inline__ char *strcpy(char *__dest, const char *__src) +static inline char *strcpy(char *__dest, const char *__src) { register char *__xdest = __dest; unsigned long __dummy; @@ -26,7 +28,7 @@ static __inline__ char *strcpy(char *__dest, const char *__src) } #define __HAVE_ARCH_STRNCPY -static __inline__ char *strncpy(char *__dest, const char *__src, size_t __n) +static inline char *strncpy(char *__dest, const char *__src, size_t __n) { register char *__xdest = __dest; unsigned long __dummy; @@ -52,7 +54,7 @@ static __inline__ char *strncpy(char *__dest, const char *__src, size_t __n) } #define __HAVE_ARCH_STRCMP -static __inline__ int strcmp(const char *__cs, const char *__ct) +static inline int strcmp(const char *__cs, const char *__ct) { register int __res; unsigned long __dummy; @@ -78,7 +80,7 @@ static __inline__ int strcmp(const char *__cs, const char *__ct) } #define __HAVE_ARCH_STRNCMP -static __inline__ int strncmp(const char *__cs, const char *__ct, size_t __n) +static inline int strncmp(const char *__cs, const char *__ct, size_t __n) { register int __res; unsigned long __dummy; @@ -124,4 +126,9 @@ extern void *memchr(const void *__s, int __c, size_t __n); #define __HAVE_ARCH_STRLEN extern size_t strlen(const char *); +/* arch/sh/lib/strcasecmp.c */ +extern int strcasecmp(const char *, const char *); + +#endif /* __KERNEL__ */ + #endif /* __ASM_SH_STRING_H */ diff --git a/include/asm-sh/unistd.h b/include/asm-sh/unistd.h index 5d5e9f94def..f1a0cbc966b 100644 --- a/include/asm-sh/unistd.h +++ b/include/asm-sh/unistd.h @@ -472,76 +472,6 @@ __syscall_return(type,__sc0); \ #define __ARCH_WANT_SYS_RT_SIGACTION #define __ARCH_WANT_SYS_RT_SIGSUSPEND -#ifdef __KERNEL_SYSCALLS__ - -#include <linux/compiler.h> -#include <linux/types.h> -#include <linux/linkage.h> -#include <asm/ptrace.h> - -/* - * we need this inline - forking from kernel space will result - * in NO COPY ON WRITE (!!!), until an execve is executed. This - * is no problem, but for the stack. This is handled by not letting - * main() use the stack at all after fork(). Thus, no function - * calls - which means inline code for fork too, as otherwise we - * would use the stack upon exit from 'fork()'. - * - * Actually only pause and fork are needed inline, so that there - * won't be any messing with the stack from main(), but we define - * some others too. - */ -#define __NR__exit __NR_exit -static __inline__ _syscall0(int,pause) -static __inline__ _syscall0(int,sync) -static __inline__ _syscall0(pid_t,setsid) -static __inline__ _syscall3(int,write,int,fd,const char *,buf,off_t,count) -static __inline__ _syscall3(int,read,int,fd,char *,buf,off_t,count) -static __inline__ _syscall3(off_t,lseek,int,fd,off_t,offset,int,count) -static __inline__ _syscall1(int,dup,int,fd) -static __inline__ _syscall3(int,execve,const char *,file,char **,argv,char **,envp) -static __inline__ _syscall3(int,open,const char *,file,int,flag,int,mode) -static __inline__ _syscall1(int,close,int,fd) -static __inline__ _syscall3(pid_t,waitpid,pid_t,pid,int *,wait_stat,int,options) -static __inline__ _syscall1(int,delete_module,const char *,name) - -static __inline__ pid_t wait(int * wait_stat) -{ - return waitpid(-1,wait_stat,0); -} - -asmlinkage long sys_mmap2( - unsigned long addr, unsigned long len, - unsigned long prot, unsigned long flags, - unsigned long fd, unsigned long pgoff); -asmlinkage int sys_execve(char *ufilename, char **uargv, - char **uenvp, unsigned long r7, - struct pt_regs regs); -asmlinkage int sys_clone(unsigned long clone_flags, unsigned long newsp, - unsigned long parent_tidptr, - unsigned long child_tidptr, - struct pt_regs regs); -asmlinkage int sys_fork(unsigned long r4, unsigned long r5, - unsigned long r6, unsigned long r7, - struct pt_regs regs); -asmlinkage int sys_vfork(unsigned long r4, unsigned long r5, - unsigned long r6, unsigned long r7, - struct pt_regs regs); -asmlinkage int sys_pipe(unsigned long r4, unsigned long r5, - unsigned long r6, unsigned long r7, - struct pt_regs regs); -asmlinkage ssize_t sys_pread_wrapper(unsigned int fd, char *buf, - size_t count, long dummy, loff_t pos); -asmlinkage ssize_t sys_pwrite_wrapper(unsigned int fd, const char *buf, - size_t count, long dummy, loff_t pos); -struct sigaction; -asmlinkage long sys_rt_sigaction(int sig, - const struct sigaction __user *act, - struct sigaction __user *oact, - size_t sigsetsize); - -#endif /* __KERNEL_SYSCALLS__ */ - /* * "Conditional" syscalls * |