diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2011-01-26 15:06:06 -0500 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2011-01-27 06:30:39 -0500 |
commit | aac72277fda6ef788bb8d5deaa502ce9b9b6e472 (patch) | |
tree | 013d8293e9b8f0397936e723f2e9be1a3e72dc61 | |
parent | 41e5887fa39ab272d9266a09cbefdef270e28b93 (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.h | 5 | ||||
-rw-r--r-- | arch/ia64/include/asm/rwsem.h | 5 | ||||
-rw-r--r-- | arch/powerpc/include/asm/rwsem.h | 5 | ||||
-rw-r--r-- | arch/s390/include/asm/rwsem.h | 6 | ||||
-rw-r--r-- | arch/sh/include/asm/rwsem.h | 5 | ||||
-rw-r--r-- | arch/sparc/include/asm/rwsem.h | 5 | ||||
-rw-r--r-- | arch/x86/include/asm/rwsem.h | 9 | ||||
-rw-r--r-- | arch/xtensa/include/asm/rwsem.h | 5 | ||||
-rw-r--r-- | include/linux/rwsem.h | 5 |
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 | ||
17 | extern struct rw_semaphore *rwsem_down_read_failed(struct rw_semaphore *sem); | ||
18 | extern struct rw_semaphore *rwsem_down_write_failed(struct rw_semaphore *sem); | ||
19 | extern struct rw_semaphore *rwsem_wake(struct rw_semaphore *); | ||
20 | extern 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 | ||
37 | extern struct rw_semaphore *rwsem_down_read_failed(struct rw_semaphore *sem); | ||
38 | extern struct rw_semaphore *rwsem_down_write_failed(struct rw_semaphore *sem); | ||
39 | extern struct rw_semaphore *rwsem_wake(struct rw_semaphore *sem); | ||
40 | extern 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 | ||
31 | extern struct rw_semaphore *rwsem_down_read_failed(struct rw_semaphore *sem); | ||
32 | extern struct rw_semaphore *rwsem_down_write_failed(struct rw_semaphore *sem); | ||
33 | extern struct rw_semaphore *rwsem_wake(struct rw_semaphore *sem); | ||
34 | extern 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 | ||
46 | extern struct rw_semaphore *rwsem_down_read_failed(struct rw_semaphore *); | ||
47 | extern struct rw_semaphore *rwsem_down_write_failed(struct rw_semaphore *); | ||
48 | extern struct rw_semaphore *rwsem_wake(struct rw_semaphore *); | ||
49 | extern struct rw_semaphore *rwsem_downgrade_wake(struct rw_semaphore *); | ||
50 | extern 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 | ||
22 | extern struct rw_semaphore *rwsem_down_read_failed(struct rw_semaphore *sem); | ||
23 | extern struct rw_semaphore *rwsem_down_write_failed(struct rw_semaphore *sem); | ||
24 | extern struct rw_semaphore *rwsem_wake(struct rw_semaphore *sem); | ||
25 | extern 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 | ||
23 | extern struct rw_semaphore *rwsem_down_read_failed(struct rw_semaphore *sem); | ||
24 | extern struct rw_semaphore *rwsem_down_write_failed(struct rw_semaphore *sem); | ||
25 | extern struct rw_semaphore *rwsem_wake(struct rw_semaphore *sem); | ||
26 | extern 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 | ||
42 | extern asmregparm struct rw_semaphore * | ||
43 | rwsem_down_read_failed(struct rw_semaphore *sem); | ||
44 | extern asmregparm struct rw_semaphore * | ||
45 | rwsem_down_write_failed(struct rw_semaphore *sem); | ||
46 | extern asmregparm struct rw_semaphore * | ||
47 | rwsem_wake(struct rw_semaphore *); | ||
48 | extern 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 | ||
27 | extern struct rw_semaphore *rwsem_down_read_failed(struct rw_semaphore *sem); | ||
28 | extern struct rw_semaphore *rwsem_down_write_failed(struct rw_semaphore *sem); | ||
29 | extern struct rw_semaphore *rwsem_wake(struct rw_semaphore *sem); | ||
30 | extern 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 | ||
35 | extern asmregparm struct rw_semaphore *rwsem_down_read_failed(struct rw_semaphore *sem); | ||
36 | extern asmregparm struct rw_semaphore *rwsem_down_write_failed(struct rw_semaphore *sem); | ||
37 | extern asmregparm struct rw_semaphore *rwsem_wake(struct rw_semaphore *); | ||
38 | extern 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 | ||