Commit 962eb7be 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 8a463f0e 83edd555
...@@ -2220,14 +2220,13 @@ S: 7546 JA Enschede ...@@ -2220,14 +2220,13 @@ S: 7546 JA Enschede
S: Netherlands S: Netherlands
N: David S. Miller N: David S. Miller
E: davem@redhat.com E: davem@davemloft.net
D: Sparc and blue box hacker D: Sparc and blue box hacker
D: Vger Linux mailing list co-maintainer D: Vger Linux mailing list co-maintainer
D: Linux Emacs elf/qmagic support + other libc/gcc things D: Linux Emacs elf/qmagic support + other libc/gcc things
D: Yee bore de yee bore! ;-) D: Yee bore de yee bore! ;-)
S: 750 N. Shoreline Blvd. S: 575 Harrison St. #103
S: Apt. #111 S: San Francisco, CA 94105
S: Mountain View, California 94043
S: USA S: USA
N: Rick Miller N: Rick Miller
......
...@@ -569,7 +569,7 @@ CRYPTO API ...@@ -569,7 +569,7 @@ CRYPTO API
P: James Morris P: James Morris
M: jmorris@redhat.com M: jmorris@redhat.com
P: David S. Miller P: David S. Miller
M: davem@redhat.com M: davem@davemloft.net
W http://samba.org/~jamesm/crypto/ W http://samba.org/~jamesm/crypto/
L: linux-kernel@vger.kernel.org L: linux-kernel@vger.kernel.org
S: Maintained S: Maintained
...@@ -1523,7 +1523,7 @@ S: Maintained ...@@ -1523,7 +1523,7 @@ S: Maintained
NETWORKING [IPv4/IPv6] NETWORKING [IPv4/IPv6]
P: David S. Miller P: David S. Miller
M: davem@redhat.com M: davem@davemloft.net
P: Alexey Kuznetsov P: Alexey Kuznetsov
M: kuznet@ms2.inr.ac.ru M: kuznet@ms2.inr.ac.ru
P: Pekka Savola (ipv6) P: Pekka Savola (ipv6)
...@@ -1981,7 +1981,7 @@ S: Maintained ...@@ -1981,7 +1981,7 @@ S: Maintained
UltraSPARC (sparc64): UltraSPARC (sparc64):
P: David S. Miller P: David S. Miller
M: davem@redhat.com M: davem@davemloft.net
P: Eddie C. Dost P: Eddie C. Dost
M: ecd@skynet.be M: ecd@skynet.be
P: Jakub Jelinek P: Jakub Jelinek
......
# #
# Automatically generated make config: don't edit # Automatically generated make config: don't edit
# Linux kernel version: 2.6.9-rc1 # Linux kernel version: 2.6.9-rc1
# Wed Aug 25 21:27:54 2004 # Fri Aug 27 17:37:00 2004
# #
CONFIG_64BIT=y CONFIG_64BIT=y
CONFIG_MMU=y CONFIG_MMU=y
...@@ -1488,6 +1488,7 @@ CONFIG_SND_VIRMIDI=m ...@@ -1488,6 +1488,7 @@ CONFIG_SND_VIRMIDI=m
CONFIG_SND_AC97_CODEC=m CONFIG_SND_AC97_CODEC=m
CONFIG_SND_ALI5451=m CONFIG_SND_ALI5451=m
CONFIG_SND_ATIIXP=m CONFIG_SND_ATIIXP=m
CONFIG_SND_ATIIXP_MODEM=m
CONFIG_SND_AU8810=m CONFIG_SND_AU8810=m
CONFIG_SND_AU8820=m CONFIG_SND_AU8820=m
CONFIG_SND_AU8830=m CONFIG_SND_AU8830=m
...@@ -1527,6 +1528,7 @@ CONFIG_SND_VX222=m ...@@ -1527,6 +1528,7 @@ CONFIG_SND_VX222=m
# ALSA USB devices # ALSA USB devices
# #
# CONFIG_SND_USB_AUDIO is not set # CONFIG_SND_USB_AUDIO is not set
CONFIG_SND_USB_USX2Y=m
# #
# ALSA Sparc devices # ALSA Sparc devices
...@@ -1546,6 +1548,7 @@ CONFIG_USB=y ...@@ -1546,6 +1548,7 @@ CONFIG_USB=y
CONFIG_USB_DEVICEFS=y CONFIG_USB_DEVICEFS=y
# CONFIG_USB_BANDWIDTH is not set # CONFIG_USB_BANDWIDTH is not set
# CONFIG_USB_DYNAMIC_MINORS is not set # CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_OTG is not set
# #
# USB Host Controller Drivers # USB Host Controller Drivers
...@@ -1611,7 +1614,6 @@ CONFIG_USB_HPUSBSCSI=m ...@@ -1611,7 +1614,6 @@ CONFIG_USB_HPUSBSCSI=m
# CONFIG_USB_IBMCAM is not set # CONFIG_USB_IBMCAM is not set
# CONFIG_USB_KONICAWC is not set # CONFIG_USB_KONICAWC is not set
# CONFIG_USB_OV511 is not set # CONFIG_USB_OV511 is not set
CONFIG_USB_PWC=m
# CONFIG_USB_SE401 is not set # CONFIG_USB_SE401 is not set
CONFIG_USB_SN9C102=m CONFIG_USB_SN9C102=m
# CONFIG_USB_STV680 is not set # CONFIG_USB_STV680 is not set
......
...@@ -372,6 +372,12 @@ EXPORT_SYMBOL_NOVERS(memset); ...@@ -372,6 +372,12 @@ EXPORT_SYMBOL_NOVERS(memset);
EXPORT_SYMBOL_NOVERS(memmove); EXPORT_SYMBOL_NOVERS(memmove);
EXPORT_SYMBOL_NOVERS(strncmp); EXPORT_SYMBOL_NOVERS(strncmp);
/* Delay routines. */
EXPORT_SYMBOL(__udelay);
EXPORT_SYMBOL(__ndelay);
EXPORT_SYMBOL(__const_udelay);
EXPORT_SYMBOL(__delay);
void VISenter(void); void VISenter(void);
/* RAID code needs this */ /* RAID code needs this */
EXPORT_SYMBOL_NOVERS(VISenter); EXPORT_SYMBOL_NOVERS(VISenter);
......
...@@ -12,7 +12,7 @@ lib-y := PeeCeeI.o copy_page.o clear_page.o strlen.o strncmp.o \ ...@@ -12,7 +12,7 @@ lib-y := PeeCeeI.o copy_page.o clear_page.o strlen.o strncmp.o \
U1memcpy.o U1copy_from_user.o U1copy_to_user.o \ U1memcpy.o U1copy_from_user.o U1copy_to_user.o \
U3memcpy.o U3copy_from_user.o U3copy_to_user.o U3patch.o \ U3memcpy.o U3copy_from_user.o U3copy_to_user.o U3patch.o \
copy_in_user.o user_fixup.o memmove.o \ copy_in_user.o user_fixup.o memmove.o \
mcount.o ipcsum.o rwsem.o xor.o splock.o find_bit.o mcount.o ipcsum.o rwsem.o xor.o splock.o find_bit.o delay.o
lib-$(CONFIG_DEBUG_SPINLOCK) += debuglocks.o lib-$(CONFIG_DEBUG_SPINLOCK) += debuglocks.o
lib-$(CONFIG_HAVE_DEC_LOCK) += dec_and_lock.o lib-$(CONFIG_HAVE_DEC_LOCK) += dec_and_lock.o
/* delay.c: Delay loops for sparc64
*
* Copyright (C) 2004 David S. Miller <davem@redhat.com>
*
* Based heavily upon x86 variant which is:
* Copyright (C) 1993 Linus Torvalds
* Copyright (C) 1997 Martin Mares <mj@atrey.karlin.mff.cuni.cz>
*/
#include <linux/delay.h>
void __delay(unsigned long loops)
{
__asm__ __volatile__(
" b,pt %%xcc, 1f\n"
" cmp %0, 0\n"
" .align 32\n"
"1:\n"
" bne,pt %%xcc, 1b\n"
" subcc %0, 1, %0\n"
: "=&r" (loops)
: "0" (loops)
: "cc");
}
/* We used to multiply by HZ after shifting down by 32 bits
* but that runs into problems for higher values of HZ and
* slow cpus.
*/
void __const_udelay(unsigned long n)
{
n *= 4;
n *= (cpu_data(smp_processor_id()).udelay_val * (HZ/4));
n >>= 32;
__delay(n + 1);
}
void __udelay(unsigned long n)
{
__const_udelay(n * 0x10c7UL);
}
void __ndelay(unsigned long n)
{
__const_udelay(n * 0x5UL);
}
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
({ \ ({ \
__typeof__ (*(ptr)) __x; \ __typeof__ (*(ptr)) __x; \
__copy_from_user(&__x, (ptr), sizeof(*(ptr))) ? -EFAULT : 0; \ __copy_from_user(&__x, (ptr), sizeof(*(ptr))) ? -EFAULT : 0; \
(x) = _x; \ (x) = __x; \
}) })
......
/* $Id: delay.h,v 1.13 2002/02/02 03:33:48 kanoj Exp $ /* delay.h: Linux delay routines on sparc64.
* delay.h: Linux delay routines on the V9.
* *
* Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu). * Copyright (C) 1996, 2004 David S. Miller (davem@davemloft.net).
*
* Based heavily upon x86 variant which is:
* Copyright (C) 1993 Linus Torvalds
*
* Delay routines calling functions in arch/sparc64/lib/delay.c
*/ */
#ifndef __SPARC64_DELAY_H #ifndef __SPARC64_DELAY_H
...@@ -13,50 +17,21 @@ ...@@ -13,50 +17,21 @@
#ifndef __ASSEMBLY__ #ifndef __ASSEMBLY__
static __inline__ void __delay(unsigned long loops) extern void __bad_udelay(void);
{ extern void __bad_ndelay(void);
__asm__ __volatile__(
" b,pt %%xcc, 1f\n" extern void __udelay(unsigned long usecs);
" cmp %0, 0\n" extern void __ndelay(unsigned long nsecs);
" .align 32\n" extern void __const_udelay(unsigned long usecs);
"1:\n" extern void __delay(unsigned long loops);
" bne,pt %%xcc, 1b\n"
" subcc %0, 1, %0\n" #define udelay(n) (__builtin_constant_p(n) ? \
: "=&r" (loops) ((n) > 20000 ? __bad_udelay() : __const_udelay((n) * 0x10c7ul)) : \
: "0" (loops) __udelay(n))
: "cc");
} #define ndelay(n) (__builtin_constant_p(n) ? \
((n) > 20000 ? __bad_ndelay() : __const_udelay((n) * 5ul)) : \
static __inline__ void __udelay(unsigned long usecs, unsigned long lps) __ndelay(n))
{
usecs *= 0x00000000000010c6UL; /* 2**32 / 1000000 */
__asm__ __volatile__(
" mulx %1, %2, %0\n"
" srlx %0, 32, %0\n"
: "=r" (usecs)
: "r" (usecs), "r" (lps));
__delay(usecs * HZ);
}
extern __inline__ void __ndelay(unsigned long usecs, unsigned long lps)
{
usecs *= 0x0000000000000005UL; /* 2**32 / 10000 */
__asm__ __volatile__(
" mulx %1, %2, %0\n"
" srlx %0, 32, %0\n"
: "=r" (usecs)
: "r" (usecs), "r" (lps));
__delay(usecs * HZ);
}
#define __udelay_val cpu_data(smp_processor_id()).udelay_val
#define udelay(usecs) __udelay((usecs),__udelay_val)
#define ndelay(usecs) __ndelay((usecs),__udelay_val)
#endif /* !__ASSEMBLY__ */ #endif /* !__ASSEMBLY__ */
......
...@@ -968,7 +968,7 @@ static int __init snd_amd7930_create(snd_card_t *card, ...@@ -968,7 +968,7 @@ static int __init snd_amd7930_create(snd_card_t *card,
int err; int err;
*ramd = NULL; *ramd = NULL;
amd = kcalloc(1, sizeof(*amd), 0, GFP_KERNEL); amd = kcalloc(1, sizeof(*amd), GFP_KERNEL);
if (amd == NULL) if (amd == NULL)
return -ENOMEM; return -ENOMEM;
......
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