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
S: Netherlands
N: David S. Miller
E: davem@redhat.com
E: davem@davemloft.net
D: Sparc and blue box hacker
D: Vger Linux mailing list co-maintainer
D: Linux Emacs elf/qmagic support + other libc/gcc things
D: Yee bore de yee bore! ;-)
S: 750 N. Shoreline Blvd.
S: Apt. #111
S: Mountain View, California 94043
S: 575 Harrison St. #103
S: San Francisco, CA 94105
S: USA
N: Rick Miller
......
......@@ -569,7 +569,7 @@ CRYPTO API
P: James Morris
M: jmorris@redhat.com
P: David S. Miller
M: davem@redhat.com
M: davem@davemloft.net
W http://samba.org/~jamesm/crypto/
L: linux-kernel@vger.kernel.org
S: Maintained
......@@ -1523,7 +1523,7 @@ S: Maintained
NETWORKING [IPv4/IPv6]
P: David S. Miller
M: davem@redhat.com
M: davem@davemloft.net
P: Alexey Kuznetsov
M: kuznet@ms2.inr.ac.ru
P: Pekka Savola (ipv6)
......@@ -1981,7 +1981,7 @@ S: Maintained
UltraSPARC (sparc64):
P: David S. Miller
M: davem@redhat.com
M: davem@davemloft.net
P: Eddie C. Dost
M: ecd@skynet.be
P: Jakub Jelinek
......
#
# Automatically generated make config: don't edit
# 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_MMU=y
......@@ -1488,6 +1488,7 @@ CONFIG_SND_VIRMIDI=m
CONFIG_SND_AC97_CODEC=m
CONFIG_SND_ALI5451=m
CONFIG_SND_ATIIXP=m
CONFIG_SND_ATIIXP_MODEM=m
CONFIG_SND_AU8810=m
CONFIG_SND_AU8820=m
CONFIG_SND_AU8830=m
......@@ -1527,6 +1528,7 @@ CONFIG_SND_VX222=m
# ALSA USB devices
#
# CONFIG_SND_USB_AUDIO is not set
CONFIG_SND_USB_USX2Y=m
#
# ALSA Sparc devices
......@@ -1546,6 +1548,7 @@ CONFIG_USB=y
CONFIG_USB_DEVICEFS=y
# CONFIG_USB_BANDWIDTH is not set
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_OTG is not set
#
# USB Host Controller Drivers
......@@ -1611,7 +1614,6 @@ CONFIG_USB_HPUSBSCSI=m
# CONFIG_USB_IBMCAM is not set
# CONFIG_USB_KONICAWC is not set
# CONFIG_USB_OV511 is not set
CONFIG_USB_PWC=m
# CONFIG_USB_SE401 is not set
CONFIG_USB_SN9C102=m
# CONFIG_USB_STV680 is not set
......
......@@ -372,6 +372,12 @@ EXPORT_SYMBOL_NOVERS(memset);
EXPORT_SYMBOL_NOVERS(memmove);
EXPORT_SYMBOL_NOVERS(strncmp);
/* Delay routines. */
EXPORT_SYMBOL(__udelay);
EXPORT_SYMBOL(__ndelay);
EXPORT_SYMBOL(__const_udelay);
EXPORT_SYMBOL(__delay);
void VISenter(void);
/* RAID code needs this */
EXPORT_SYMBOL_NOVERS(VISenter);
......
......@@ -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 \
U3memcpy.o U3copy_from_user.o U3copy_to_user.o U3patch.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_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 @@
({ \
__typeof__ (*(ptr)) __x; \
__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 the V9.
/* delay.h: Linux delay routines on sparc64.
*
* 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
......@@ -13,50 +17,21 @@
#ifndef __ASSEMBLY__
static __inline__ 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");
}
static __inline__ void __udelay(unsigned long usecs, unsigned long lps)
{
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)
extern void __bad_udelay(void);
extern void __bad_ndelay(void);
extern void __udelay(unsigned long usecs);
extern void __ndelay(unsigned long nsecs);
extern void __const_udelay(unsigned long usecs);
extern void __delay(unsigned long loops);
#define udelay(n) (__builtin_constant_p(n) ? \
((n) > 20000 ? __bad_udelay() : __const_udelay((n) * 0x10c7ul)) : \
__udelay(n))
#define ndelay(n) (__builtin_constant_p(n) ? \
((n) > 20000 ? __bad_ndelay() : __const_udelay((n) * 5ul)) : \
__ndelay(n))
#endif /* !__ASSEMBLY__ */
......
......@@ -968,7 +968,7 @@ static int __init snd_amd7930_create(snd_card_t *card,
int err;
*ramd = NULL;
amd = kcalloc(1, sizeof(*amd), 0, GFP_KERNEL);
amd = kcalloc(1, sizeof(*amd), GFP_KERNEL);
if (amd == NULL)
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