aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2011-01-26 15:06:06 -0500
committerThomas Gleixner <tglx@linutronix.de>2011-01-27 06:30:39 -0500
commitaac72277fda6ef788bb8d5deaa502ce9b9b6e472 (patch)
tree013d8293e9b8f0397936e723f2e9be1a3e72dc61
parent41e5887fa39ab272d9266a09cbefdef270e28b93 (diff)
rwsem: Move duplicate function prototypes to linux/rwsem.h
All architecture specific rwsem headers carry the same function prototypes. Just x86 adds asmregparm, which is an empty define on all other architectures. S390 has a stale rwsem_downgrade_write() prototype. Remove the duplicates and add the prototypes to linux/rwsem.h Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Peter Zijlstra <peterz@infradead.org> Cc: David Howells <dhowells@redhat.com> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Richard Henderson <rth@twiddle.net> Acked-by: Tony Luck <tony.luck@intel.com> Acked-by: Heiko Carstens <heiko.carstens@de.ibm.com> Cc: Paul Mundt <lethal@linux-sh.org> Acked-by: David Miller <davem@davemloft.net> Cc: Chris Zankel <chris@zankel.net> LKML-Reference: <20110126195833.970840140@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-rw-r--r--arch/alpha/include/asm/rwsem.h5
-rw-r--r--arch/ia64/include/asm/rwsem.h5
-rw-r--r--arch/powerpc/include/asm/rwsem.h5
-rw-r--r--arch/s390/include/asm/rwsem.h6
-rw-r--r--arch/sh/include/asm/rwsem.h5
-rw-r--r--arch/sparc/include/asm/rwsem.h5
-rw-r--r--arch/x86/include/asm/rwsem.h9
-rw-r--r--arch/xtensa/include/asm/rwsem.h5
-rw-r--r--include/linux/rwsem.h5
9 files changed, 5 insertions, 45 deletions
diff --git a/arch/alpha/include/asm/rwsem.h b/arch/alpha/include/asm/rwsem.h
index fc7f54337c3a..a83bbea62c67 100644
--- a/arch/alpha/include/asm/rwsem.h
+++ b/arch/alpha/include/asm/rwsem.h
@@ -14,11 +14,6 @@
14 14
15#include <linux/compiler.h> 15#include <linux/compiler.h>
16 16
17extern struct rw_semaphore *rwsem_down_read_failed(struct rw_semaphore *sem);
18extern struct rw_semaphore *rwsem_down_write_failed(struct rw_semaphore *sem);
19extern struct rw_semaphore *rwsem_wake(struct rw_semaphore *);
20extern struct rw_semaphore *rwsem_downgrade_wake(struct rw_semaphore *sem);
21
22#define RWSEM_UNLOCKED_VALUE 0x0000000000000000L 17#define RWSEM_UNLOCKED_VALUE 0x0000000000000000L
23#define RWSEM_ACTIVE_BIAS 0x0000000000000001L 18#define RWSEM_ACTIVE_BIAS 0x0000000000000001L
24#define RWSEM_ACTIVE_MASK 0x00000000ffffffffL 19#define RWSEM_ACTIVE_MASK 0x00000000ffffffffL
diff --git a/arch/ia64/include/asm/rwsem.h b/arch/ia64/include/asm/rwsem.h
index 148b61a96b8c..3027e7516d85 100644
--- a/arch/ia64/include/asm/rwsem.h
+++ b/arch/ia64/include/asm/rwsem.h
@@ -34,11 +34,6 @@
34#define RWSEM_ACTIVE_READ_BIAS RWSEM_ACTIVE_BIAS 34#define RWSEM_ACTIVE_READ_BIAS RWSEM_ACTIVE_BIAS
35#define RWSEM_ACTIVE_WRITE_BIAS (RWSEM_WAITING_BIAS + RWSEM_ACTIVE_BIAS) 35#define RWSEM_ACTIVE_WRITE_BIAS (RWSEM_WAITING_BIAS + RWSEM_ACTIVE_BIAS)
36 36
37extern struct rw_semaphore *rwsem_down_read_failed(struct rw_semaphore *sem);
38extern struct rw_semaphore *rwsem_down_write_failed(struct rw_semaphore *sem);
39extern struct rw_semaphore *rwsem_wake(struct rw_semaphore *sem);
40extern struct rw_semaphore *rwsem_downgrade_wake(struct rw_semaphore *sem);
41
42/* 37/*
43 * lock for reading 38 * lock for reading
44 */ 39 */
diff --git a/arch/powerpc/include/asm/rwsem.h b/arch/powerpc/include/asm/rwsem.h
index 38e8e5c508d5..bb1e2cdeb9bf 100644
--- a/arch/powerpc/include/asm/rwsem.h
+++ b/arch/powerpc/include/asm/rwsem.h
@@ -28,11 +28,6 @@
28#define RWSEM_ACTIVE_READ_BIAS RWSEM_ACTIVE_BIAS 28#define RWSEM_ACTIVE_READ_BIAS RWSEM_ACTIVE_BIAS
29#define RWSEM_ACTIVE_WRITE_BIAS (RWSEM_WAITING_BIAS + RWSEM_ACTIVE_BIAS) 29#define RWSEM_ACTIVE_WRITE_BIAS (RWSEM_WAITING_BIAS + RWSEM_ACTIVE_BIAS)
30 30
31extern struct rw_semaphore *rwsem_down_read_failed(struct rw_semaphore *sem);
32extern struct rw_semaphore *rwsem_down_write_failed(struct rw_semaphore *sem);
33extern struct rw_semaphore *rwsem_wake(struct rw_semaphore *sem);
34extern struct rw_semaphore *rwsem_downgrade_wake(struct rw_semaphore *sem);
35
36/* 31/*
37 * lock for reading 32 * lock for reading
38 */ 33 */
diff --git a/arch/s390/include/asm/rwsem.h b/arch/s390/include/asm/rwsem.h
index 80522dcb6cc2..d0eb4653cebd 100644
--- a/arch/s390/include/asm/rwsem.h
+++ b/arch/s390/include/asm/rwsem.h
@@ -43,12 +43,6 @@
43 43
44#ifdef __KERNEL__ 44#ifdef __KERNEL__
45 45
46extern struct rw_semaphore *rwsem_down_read_failed(struct rw_semaphore *);
47extern struct rw_semaphore *rwsem_down_write_failed(struct rw_semaphore *);
48extern struct rw_semaphore *rwsem_wake(struct rw_semaphore *);
49extern struct rw_semaphore *rwsem_downgrade_wake(struct rw_semaphore *);
50extern struct rw_semaphore *rwsem_downgrade_write(struct rw_semaphore *);
51
52#ifndef __s390x__ 46#ifndef __s390x__
53#define RWSEM_UNLOCKED_VALUE 0x00000000 47#define RWSEM_UNLOCKED_VALUE 0x00000000
54#define RWSEM_ACTIVE_BIAS 0x00000001 48#define RWSEM_ACTIVE_BIAS 0x00000001
diff --git a/arch/sh/include/asm/rwsem.h b/arch/sh/include/asm/rwsem.h
index 2f8cf9761eb5..edab57265293 100644
--- a/arch/sh/include/asm/rwsem.h
+++ b/arch/sh/include/asm/rwsem.h
@@ -19,11 +19,6 @@
19#define RWSEM_ACTIVE_READ_BIAS RWSEM_ACTIVE_BIAS 19#define RWSEM_ACTIVE_READ_BIAS RWSEM_ACTIVE_BIAS
20#define RWSEM_ACTIVE_WRITE_BIAS (RWSEM_WAITING_BIAS + RWSEM_ACTIVE_BIAS) 20#define RWSEM_ACTIVE_WRITE_BIAS (RWSEM_WAITING_BIAS + RWSEM_ACTIVE_BIAS)
21 21
22extern struct rw_semaphore *rwsem_down_read_failed(struct rw_semaphore *sem);
23extern struct rw_semaphore *rwsem_down_write_failed(struct rw_semaphore *sem);
24extern struct rw_semaphore *rwsem_wake(struct rw_semaphore *sem);
25extern struct rw_semaphore *rwsem_downgrade_wake(struct rw_semaphore *sem);
26
27/* 22/*
28 * lock for reading 23 * lock for reading
29 */ 24 */
diff --git a/arch/sparc/include/asm/rwsem.h b/arch/sparc/include/asm/rwsem.h
index 4f4391fd5658..069bf4d663a1 100644
--- a/arch/sparc/include/asm/rwsem.h
+++ b/arch/sparc/include/asm/rwsem.h
@@ -20,11 +20,6 @@
20#define RWSEM_ACTIVE_READ_BIAS RWSEM_ACTIVE_BIAS 20#define RWSEM_ACTIVE_READ_BIAS RWSEM_ACTIVE_BIAS
21#define RWSEM_ACTIVE_WRITE_BIAS (RWSEM_WAITING_BIAS + RWSEM_ACTIVE_BIAS) 21#define RWSEM_ACTIVE_WRITE_BIAS (RWSEM_WAITING_BIAS + RWSEM_ACTIVE_BIAS)
22 22
23extern struct rw_semaphore *rwsem_down_read_failed(struct rw_semaphore *sem);
24extern struct rw_semaphore *rwsem_down_write_failed(struct rw_semaphore *sem);
25extern struct rw_semaphore *rwsem_wake(struct rw_semaphore *sem);
26extern struct rw_semaphore *rwsem_downgrade_wake(struct rw_semaphore *sem);
27
28/* 23/*
29 * lock for reading 24 * lock for reading
30 */ 25 */
diff --git a/arch/x86/include/asm/rwsem.h b/arch/x86/include/asm/rwsem.h
index 776d76fe2f90..df4cd32b4cc6 100644
--- a/arch/x86/include/asm/rwsem.h
+++ b/arch/x86/include/asm/rwsem.h
@@ -39,15 +39,6 @@
39#ifdef __KERNEL__ 39#ifdef __KERNEL__
40#include <asm/asm.h> 40#include <asm/asm.h>
41 41
42extern asmregparm struct rw_semaphore *
43 rwsem_down_read_failed(struct rw_semaphore *sem);
44extern asmregparm struct rw_semaphore *
45 rwsem_down_write_failed(struct rw_semaphore *sem);
46extern asmregparm struct rw_semaphore *
47 rwsem_wake(struct rw_semaphore *);
48extern asmregparm struct rw_semaphore *
49 rwsem_downgrade_wake(struct rw_semaphore *sem);
50
51/* 42/*
52 * The bias values and the counter type limits the number of 43 * The bias values and the counter type limits the number of
53 * potential readers/writers to 32767 for 32 bits and 2147483647 44 * potential readers/writers to 32767 for 32 bits and 2147483647
diff --git a/arch/xtensa/include/asm/rwsem.h b/arch/xtensa/include/asm/rwsem.h
index da61633ccba8..249619e7e7f2 100644
--- a/arch/xtensa/include/asm/rwsem.h
+++ b/arch/xtensa/include/asm/rwsem.h
@@ -24,11 +24,6 @@
24#define RWSEM_ACTIVE_READ_BIAS RWSEM_ACTIVE_BIAS 24#define RWSEM_ACTIVE_READ_BIAS RWSEM_ACTIVE_BIAS
25#define RWSEM_ACTIVE_WRITE_BIAS (RWSEM_WAITING_BIAS + RWSEM_ACTIVE_BIAS) 25#define RWSEM_ACTIVE_WRITE_BIAS (RWSEM_WAITING_BIAS + RWSEM_ACTIVE_BIAS)
26 26
27extern struct rw_semaphore *rwsem_down_read_failed(struct rw_semaphore *sem);
28extern struct rw_semaphore *rwsem_down_write_failed(struct rw_semaphore *sem);
29extern struct rw_semaphore *rwsem_wake(struct rw_semaphore *sem);
30extern struct rw_semaphore *rwsem_downgrade_wake(struct rw_semaphore *sem);
31
32/* 27/*
33 * lock for reading 28 * lock for reading
34 */ 29 */
diff --git a/include/linux/rwsem.h b/include/linux/rwsem.h
index 8b9c7e9f6910..f7c957f3165f 100644
--- a/include/linux/rwsem.h
+++ b/include/linux/rwsem.h
@@ -32,6 +32,11 @@ struct rw_semaphore {
32#endif 32#endif
33}; 33};
34 34
35extern asmregparm struct rw_semaphore *rwsem_down_read_failed(struct rw_semaphore *sem);
36extern asmregparm struct rw_semaphore *rwsem_down_write_failed(struct rw_semaphore *sem);
37extern asmregparm struct rw_semaphore *rwsem_wake(struct rw_semaphore *);
38extern asmregparm struct rw_semaphore *rwsem_downgrade_wake(struct rw_semaphore *sem);
39
35/* Include the arch specific part */ 40/* Include the arch specific part */
36#include <asm/rwsem.h> 41#include <asm/rwsem.h>
37 42