Commit 1c507e20 authored by Linus Torvalds's avatar Linus Torvalds

Merge bk://kernel.bkbits.net/davem/sparc-2.6

into ppc970.osdl.org:/home/torvalds/v2.6/linux
parents 9ad5c920 b19e1a0d
...@@ -27,12 +27,12 @@ typedef elf_greg_t elf_gregset_t[ELF_NGREG]; ...@@ -27,12 +27,12 @@ typedef elf_greg_t elf_gregset_t[ELF_NGREG];
#define ELF_CORE_COPY_REGS(__elf_regs, __pt_regs) \ #define ELF_CORE_COPY_REGS(__elf_regs, __pt_regs) \
do { unsigned int *dest = &(__elf_regs[0]); \ do { unsigned int *dest = &(__elf_regs[0]); \
struct pt_regs *src = (__pt_regs); \ struct pt_regs *src = (__pt_regs); \
unsigned int *sp; \ unsigned int __user *sp; \
int i; \ int i; \
for(i = 0; i < 16; i++) \ for(i = 0; i < 16; i++) \
dest[i] = (unsigned int) src->u_regs[i];\ dest[i] = (unsigned int) src->u_regs[i];\
/* Don't try this at home kids... */ \ /* Don't try this at home kids... */ \
sp = (unsigned int *) (src->u_regs[14] & \ sp = (unsigned int __user *) (src->u_regs[14] & \
0x00000000fffffffc); \ 0x00000000fffffffc); \
for(i = 0; i < 16; i++) \ for(i = 0; i < 16; i++) \
__get_user(dest[i+16], &sp[i]); \ __get_user(dest[i+16], &sp[i]); \
......
...@@ -72,7 +72,7 @@ struct mctrl_info { ...@@ -72,7 +72,7 @@ struct mctrl_info {
struct obp_mem_layout layout_prop; struct obp_mem_layout layout_prop;
int layout_size; int layout_size;
void *regs; void __iomem *regs;
u64 timing_control1; u64 timing_control1;
u64 timing_control2; u64 timing_control2;
......
...@@ -141,8 +141,7 @@ void __init power_init(void) ...@@ -141,8 +141,7 @@ void __init power_init(void)
printk("powerd running.\n"); printk("powerd running.\n");
if (request_irq(edev->irqs[0], if (request_irq(edev->irqs[0],
power_handler, SA_SHIRQ, "power", power_handler, SA_SHIRQ, "power", NULL) < 0)
(void *) power_reg) < 0)
printk("power: Error, cannot register IRQ handler.\n"); printk("power: Error, cannot register IRQ handler.\n");
} else { } else {
printk("not using powerd.\n"); printk("not using powerd.\n");
......
...@@ -1749,7 +1749,8 @@ asmlinkage long compat_sys_waitid(u32 which, u32 pid, ...@@ -1749,7 +1749,8 @@ asmlinkage long compat_sys_waitid(u32 which, u32 pid,
set_fs (KERNEL_DS); set_fs (KERNEL_DS);
ret = sys_waitid(which, pid, (siginfo_t __user *) &info, ret = sys_waitid(which, pid, (siginfo_t __user *) &info,
options, uru ? &ru : NULL); options,
uru ? (struct rusage __user *) &ru : NULL);
set_fs (old_fs); set_fs (old_fs);
if (ret < 0 || info.si_signo == 0) if (ret < 0 || info.si_signo == 0)
......
...@@ -40,7 +40,7 @@ extern unsigned int csum_partial(const unsigned char * buff, int len, unsigned i ...@@ -40,7 +40,7 @@ extern unsigned int csum_partial(const unsigned char * buff, int len, unsigned i
*/ */
extern unsigned int csum_partial_copy_sparc64(const char *src, char *dst, int len, unsigned int sum); extern unsigned int csum_partial_copy_sparc64(const char *src, char *dst, int len, unsigned int sum);
static __inline__ unsigned int static inline unsigned int
csum_partial_copy_nocheck (const char *src, char *dst, int len, csum_partial_copy_nocheck (const char *src, char *dst, int len,
unsigned int sum) unsigned int sum)
{ {
...@@ -52,22 +52,23 @@ csum_partial_copy_nocheck (const char *src, char *dst, int len, ...@@ -52,22 +52,23 @@ csum_partial_copy_nocheck (const char *src, char *dst, int len,
return ret; return ret;
} }
static __inline__ unsigned int static inline unsigned int
csum_partial_copy_from_user(const char *src, char *dst, int len, csum_partial_copy_from_user(const char __user *src, char *dst, int len,
unsigned int sum, int *err) unsigned int sum, int *err)
{ {
__asm__ __volatile__ ("stx %0, [%%sp + 0x7ff + 128]" __asm__ __volatile__ ("stx %0, [%%sp + 0x7ff + 128]"
: : "r" (err)); : : "r" (err));
return csum_partial_copy_sparc64(src, dst, len, sum); return csum_partial_copy_sparc64((__force const char *) src,
dst, len, sum);
} }
/* /*
* Copy and checksum to user * Copy and checksum to user
*/ */
#define HAVE_CSUM_COPY_USER #define HAVE_CSUM_COPY_USER
extern unsigned int csum_partial_copy_user_sparc64(const char *src, char *dst, int len, unsigned int sum); extern unsigned int csum_partial_copy_user_sparc64(const char *src, char __user *dst, int len, unsigned int sum);
static __inline__ unsigned int static inline unsigned int
csum_and_copy_to_user(const char *src, char __user *dst, int len, csum_and_copy_to_user(const char *src, char __user *dst, int len,
unsigned int sum, int *err) unsigned int sum, int *err)
{ {
...@@ -83,7 +84,7 @@ extern unsigned short ip_fast_csum(__const__ unsigned char *iph, ...@@ -83,7 +84,7 @@ extern unsigned short ip_fast_csum(__const__ unsigned char *iph,
unsigned int ihl); unsigned int ihl);
/* Fold a partial checksum without adding pseudo headers. */ /* Fold a partial checksum without adding pseudo headers. */
static __inline__ unsigned short csum_fold(unsigned int sum) static inline unsigned short csum_fold(unsigned int sum)
{ {
unsigned int tmp; unsigned int tmp;
...@@ -98,11 +99,11 @@ static __inline__ unsigned short csum_fold(unsigned int sum) ...@@ -98,11 +99,11 @@ static __inline__ unsigned short csum_fold(unsigned int sum)
return (sum & 0xffff); return (sum & 0xffff);
} }
static __inline__ unsigned long csum_tcpudp_nofold(unsigned long saddr, static inline unsigned long csum_tcpudp_nofold(unsigned long saddr,
unsigned long daddr, unsigned long daddr,
unsigned int len, unsigned int len,
unsigned short proto, unsigned short proto,
unsigned int sum) unsigned int sum)
{ {
__asm__ __volatile__( __asm__ __volatile__(
" addcc %1, %0, %0\n" " addcc %1, %0, %0\n"
...@@ -130,11 +131,11 @@ static inline unsigned short int csum_tcpudp_magic(unsigned long saddr, ...@@ -130,11 +131,11 @@ static inline unsigned short int csum_tcpudp_magic(unsigned long saddr,
#define _HAVE_ARCH_IPV6_CSUM #define _HAVE_ARCH_IPV6_CSUM
static __inline__ unsigned short int csum_ipv6_magic(struct in6_addr *saddr, static inline unsigned short int csum_ipv6_magic(struct in6_addr *saddr,
struct in6_addr *daddr, struct in6_addr *daddr,
__u32 len, __u32 len,
unsigned short proto, unsigned short proto,
unsigned int sum) unsigned int sum)
{ {
__asm__ __volatile__ ( __asm__ __volatile__ (
" addcc %3, %4, %%g7\n" " addcc %3, %4, %%g7\n"
...@@ -165,7 +166,7 @@ static __inline__ unsigned short int csum_ipv6_magic(struct in6_addr *saddr, ...@@ -165,7 +166,7 @@ static __inline__ unsigned short int csum_ipv6_magic(struct in6_addr *saddr,
} }
/* this routine is used for miscellaneous IP-like checksums, mainly in icmp.c */ /* this routine is used for miscellaneous IP-like checksums, mainly in icmp.c */
static __inline__ unsigned short ip_compute_csum(unsigned char * buff, int len) static inline unsigned short ip_compute_csum(unsigned char * buff, int len)
{ {
return csum_fold(csum_partial(buff, len, 0)); return csum_fold(csum_partial(buff, len, 0));
} }
......
...@@ -94,12 +94,12 @@ typedef elf_greg_t elf_gregset_t[ELF_NGREG]; ...@@ -94,12 +94,12 @@ typedef elf_greg_t elf_gregset_t[ELF_NGREG];
#define ELF_CORE_COPY_REGS(__elf_regs, __pt_regs) \ #define ELF_CORE_COPY_REGS(__elf_regs, __pt_regs) \
do { unsigned long *dest = &(__elf_regs[0]); \ do { unsigned long *dest = &(__elf_regs[0]); \
struct pt_regs *src = (__pt_regs); \ struct pt_regs *src = (__pt_regs); \
unsigned long *sp; \ unsigned long __user *sp; \
int i; \ int i; \
for(i = 0; i < 16; i++) \ for(i = 0; i < 16; i++) \
dest[i] = src->u_regs[i]; \ dest[i] = src->u_regs[i]; \
/* Don't try this at home kids... */ \ /* Don't try this at home kids... */ \
sp = (unsigned long *) \ sp = (unsigned long __user *) \
((src->u_regs[14] + STACK_BIAS) \ ((src->u_regs[14] + STACK_BIAS) \
& 0xfffffffffffffff8UL); \ & 0xfffffffffffffff8UL); \
for(i = 0; i < 16; i++) \ for(i = 0; i < 16; i++) \
......
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