aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/asm-s390/spinlock.h19
-rw-r--r--include/asm-s390/spinlock_types.h1
2 files changed, 6 insertions, 14 deletions
diff --git a/include/asm-s390/spinlock.h b/include/asm-s390/spinlock.h
index 3fd43826fd0..c1d6e7e304e 100644
--- a/include/asm-s390/spinlock.h
+++ b/include/asm-s390/spinlock.h
@@ -58,39 +58,32 @@ _raw_compare_and_swap(volatile unsigned int *lock,
do { while (__raw_spin_is_locked(lock)) \
_raw_spin_relax(lock); } while (0)
-extern void _raw_spin_lock_wait(raw_spinlock_t *, unsigned int pc);
-extern int _raw_spin_trylock_retry(raw_spinlock_t *, unsigned int pc);
+extern void _raw_spin_lock_wait(raw_spinlock_t *);
+extern int _raw_spin_trylock_retry(raw_spinlock_t *);
extern void _raw_spin_relax(raw_spinlock_t *lock);
static inline void __raw_spin_lock(raw_spinlock_t *lp)
{
- unsigned long pc = 1 | (unsigned long) __builtin_return_address(0);
int old;
old = _raw_compare_and_swap(&lp->owner_cpu, 0, ~smp_processor_id());
- if (likely(old == 0)) {
- lp->owner_pc = pc;
+ if (likely(old == 0))
return;
- }
- _raw_spin_lock_wait(lp, pc);
+ _raw_spin_lock_wait(lp);
}
static inline int __raw_spin_trylock(raw_spinlock_t *lp)
{
- unsigned long pc = 1 | (unsigned long) __builtin_return_address(0);
int old;
old = _raw_compare_and_swap(&lp->owner_cpu, 0, ~smp_processor_id());
- if (likely(old == 0)) {
- lp->owner_pc = pc;
+ if (likely(old == 0))
return 1;
- }
- return _raw_spin_trylock_retry(lp, pc);
+ return _raw_spin_trylock_retry(lp);
}
static inline void __raw_spin_unlock(raw_spinlock_t *lp)
{
- lp->owner_pc = 0;
_raw_compare_and_swap(&lp->owner_cpu, lp->owner_cpu, 0);
}
diff --git a/include/asm-s390/spinlock_types.h b/include/asm-s390/spinlock_types.h
index b7ac13f7aa3..654abc40de0 100644
--- a/include/asm-s390/spinlock_types.h
+++ b/include/asm-s390/spinlock_types.h
@@ -7,7 +7,6 @@
typedef struct {
volatile unsigned int owner_cpu;
- volatile unsigned int owner_pc;
} __attribute__ ((aligned (4))) raw_spinlock_t;
#define __RAW_SPIN_LOCK_UNLOCKED { 0 }