Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

+5 -45
-5
arch/alpha/include/asm/rwsem.h
··· 14 14 15 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 17 #define RWSEM_UNLOCKED_VALUE 0x0000000000000000L 23 18 #define RWSEM_ACTIVE_BIAS 0x0000000000000001L 24 19 #define RWSEM_ACTIVE_MASK 0x00000000ffffffffL
-5
arch/ia64/include/asm/rwsem.h
··· 34 34 #define RWSEM_ACTIVE_READ_BIAS RWSEM_ACTIVE_BIAS 35 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 38 * lock for reading 44 39 */
-5
arch/powerpc/include/asm/rwsem.h
··· 28 28 #define RWSEM_ACTIVE_READ_BIAS RWSEM_ACTIVE_BIAS 29 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 32 * lock for reading 38 33 */
-6
arch/s390/include/asm/rwsem.h
··· 43 43 44 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 46 #ifndef __s390x__ 53 47 #define RWSEM_UNLOCKED_VALUE 0x00000000 54 48 #define RWSEM_ACTIVE_BIAS 0x00000001
-5
arch/sh/include/asm/rwsem.h
··· 19 19 #define RWSEM_ACTIVE_READ_BIAS RWSEM_ACTIVE_BIAS 20 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 23 * lock for reading 29 24 */
-5
arch/sparc/include/asm/rwsem.h
··· 20 20 #define RWSEM_ACTIVE_READ_BIAS RWSEM_ACTIVE_BIAS 21 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 24 * lock for reading 30 25 */
-9
arch/x86/include/asm/rwsem.h
··· 39 39 #ifdef __KERNEL__ 40 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 43 * The bias values and the counter type limits the number of 53 44 * potential readers/writers to 32767 for 32 bits and 2147483647
-5
arch/xtensa/include/asm/rwsem.h
··· 24 24 #define RWSEM_ACTIVE_READ_BIAS RWSEM_ACTIVE_BIAS 25 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 28 * lock for reading 34 29 */
+5
include/linux/rwsem.h
··· 32 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 40 /* Include the arch specific part */ 36 41 #include <asm/rwsem.h> 37 42