diff options
Diffstat (limited to 'kernel/spinlock.c')
| -rw-r--r-- | kernel/spinlock.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/kernel/spinlock.c b/kernel/spinlock.c index 0c3f9d8bbe17..0375fcd5921d 100644 --- a/kernel/spinlock.c +++ b/kernel/spinlock.c | |||
| @@ -3,7 +3,10 @@ | |||
| 3 | * | 3 | * |
| 4 | * Author: Zwane Mwaikambo <zwane@fsmlabs.com> | 4 | * Author: Zwane Mwaikambo <zwane@fsmlabs.com> |
| 5 | * | 5 | * |
| 6 | * Copyright (2004) Ingo Molnar | 6 | * Copyright (2004, 2005) Ingo Molnar |
| 7 | * | ||
| 8 | * This file contains the spinlock/rwlock implementations for the | ||
| 9 | * SMP and the DEBUG_SPINLOCK cases. (UP-nondebug inlines them) | ||
| 7 | */ | 10 | */ |
| 8 | 11 | ||
| 9 | #include <linux/config.h> | 12 | #include <linux/config.h> |
| @@ -17,12 +20,12 @@ | |||
| 17 | * Generic declaration of the raw read_trylock() function, | 20 | * Generic declaration of the raw read_trylock() function, |
| 18 | * architectures are supposed to optimize this: | 21 | * architectures are supposed to optimize this: |
| 19 | */ | 22 | */ |
| 20 | int __lockfunc generic_raw_read_trylock(rwlock_t *lock) | 23 | int __lockfunc generic__raw_read_trylock(raw_rwlock_t *lock) |
| 21 | { | 24 | { |
| 22 | _raw_read_lock(lock); | 25 | __raw_read_lock(lock); |
| 23 | return 1; | 26 | return 1; |
| 24 | } | 27 | } |
| 25 | EXPORT_SYMBOL(generic_raw_read_trylock); | 28 | EXPORT_SYMBOL(generic__raw_read_trylock); |
| 26 | 29 | ||
| 27 | int __lockfunc _spin_trylock(spinlock_t *lock) | 30 | int __lockfunc _spin_trylock(spinlock_t *lock) |
| 28 | { | 31 | { |
| @@ -57,7 +60,7 @@ int __lockfunc _write_trylock(rwlock_t *lock) | |||
| 57 | } | 60 | } |
| 58 | EXPORT_SYMBOL(_write_trylock); | 61 | EXPORT_SYMBOL(_write_trylock); |
| 59 | 62 | ||
| 60 | #ifndef CONFIG_PREEMPT | 63 | #if !defined(CONFIG_PREEMPT) || !defined(CONFIG_SMP) |
| 61 | 64 | ||
| 62 | void __lockfunc _read_lock(rwlock_t *lock) | 65 | void __lockfunc _read_lock(rwlock_t *lock) |
| 63 | { | 66 | { |
| @@ -72,7 +75,7 @@ unsigned long __lockfunc _spin_lock_irqsave(spinlock_t *lock) | |||
| 72 | 75 | ||
| 73 | local_irq_save(flags); | 76 | local_irq_save(flags); |
| 74 | preempt_disable(); | 77 | preempt_disable(); |
| 75 | _raw_spin_lock_flags(lock, flags); | 78 | _raw_spin_lock_flags(lock, &flags); |
| 76 | return flags; | 79 | return flags; |
| 77 | } | 80 | } |
| 78 | EXPORT_SYMBOL(_spin_lock_irqsave); | 81 | EXPORT_SYMBOL(_spin_lock_irqsave); |
