Commit 0fb74dfb authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6

parents 40796c5e 4db2ce01
Loading
Loading
Loading
Loading
+0 −5
Original line number Original line Diff line number Diff line
@@ -908,11 +908,6 @@ config IRQBALANCE
 	  The default yes will allow the kernel to do irq load balancing.
 	  The default yes will allow the kernel to do irq load balancing.
	  Saying no will keep the kernel from doing irq load balancing.
	  Saying no will keep the kernel from doing irq load balancing.


config HAVE_DEC_LOCK
	bool
	depends on (SMP || PREEMPT) && X86_CMPXCHG
	default y

# turning this on wastes a bunch of space.
# turning this on wastes a bunch of space.
# Summit needs it only when NUMA is on
# Summit needs it only when NUMA is on
config BOOT_IOREMAP
config BOOT_IOREMAP
+0 −1
Original line number Original line Diff line number Diff line
@@ -7,4 +7,3 @@ lib-y = checksum.o delay.o usercopy.o getuser.o putuser.o memcpy.o strstr.o \
	bitops.o
	bitops.o


lib-$(CONFIG_X86_USE_3DNOW) += mmx.o
lib-$(CONFIG_X86_USE_3DNOW) += mmx.o
lib-$(CONFIG_HAVE_DEC_LOCK) += dec_and_lock.o

arch/i386/lib/dec_and_lock.c

deleted100644 → 0
+0 −42
Original line number Original line Diff line number Diff line
/*
 * x86 version of "atomic_dec_and_lock()" using
 * the atomic "cmpxchg" instruction.
 *
 * (For CPU's lacking cmpxchg, we use the slow
 * generic version, and this one never even gets
 * compiled).
 */

#include <linux/spinlock.h>
#include <linux/module.h>
#include <asm/atomic.h>

int _atomic_dec_and_lock(atomic_t *atomic, spinlock_t *lock)
{
	int counter;
	int newcount;

repeat:
	counter = atomic_read(atomic);
	newcount = counter-1;

	if (!newcount)
		goto slow_path;

	asm volatile("lock; cmpxchgl %1,%2"
		:"=a" (newcount)
		:"r" (newcount), "m" (atomic->counter), "0" (counter));

	/* If the above failed, "eax" will have changed */
	if (newcount != counter)
		goto repeat;
	return 0;

slow_path:
	spin_lock(lock);
	if (atomic_dec_and_test(atomic))
		return 1;
	spin_unlock(lock);
	return 0;
}
EXPORT_SYMBOL(_atomic_dec_and_lock);
+0 −5
Original line number Original line Diff line number Diff line
@@ -298,11 +298,6 @@ config PREEMPT


source "mm/Kconfig"
source "mm/Kconfig"


config HAVE_DEC_LOCK
	bool
	depends on (SMP || PREEMPT)
	default y

config IA32_SUPPORT
config IA32_SUPPORT
	bool "Support for Linux/x86 binaries"
	bool "Support for Linux/x86 binaries"
	help
	help
+0 −1
Original line number Original line Diff line number Diff line
@@ -15,7 +15,6 @@ lib-$(CONFIG_ITANIUM) += copy_page.o copy_user.o memcpy.o
lib-$(CONFIG_MCKINLEY)	+= copy_page_mck.o memcpy_mck.o
lib-$(CONFIG_MCKINLEY)	+= copy_page_mck.o memcpy_mck.o
lib-$(CONFIG_PERFMON)	+= carta_random.o
lib-$(CONFIG_PERFMON)	+= carta_random.o
lib-$(CONFIG_MD_RAID5)	+= xor.o
lib-$(CONFIG_MD_RAID5)	+= xor.o
lib-$(CONFIG_HAVE_DEC_LOCK) += dec_and_lock.o


AFLAGS___divdi3.o	=
AFLAGS___divdi3.o	=
AFLAGS___udivdi3.o	= -DUNSIGNED
AFLAGS___udivdi3.o	= -DUNSIGNED
Loading