Make sure that include/asm-powerpc/spinlock.h does not trigger compilation warnings
PATCH 1/1 Make sure that include/asm-powerpc/spinlock.h does not trigger compilation warnings
When compiling kernel modules for ppc that include <linux/spinlock.h>, gcc prints a warning message every time it encounters a function declaration where the inline keyword appears after the return type. The patch below makes sure that the order of the inline keyword and the return type is as gcc expects it. Additionally, the __inline__ keyword is replaced by inline, as checkpatch expects.
include/asm-powerpc/spinlock.h renamed from linux-2.6.25.9/include/asm-powerpc/spinlock.h +14 -13
@@ -53,7 +53,7 @@* This returns the old value in the lock, so we succeeded * in getting the lock if the return value is 0. */ -static __inline__unsigned long __spin_trylock (raw_spinlock_t *lock) +static inline unsigned long __spin_trylock (raw_spinlock_t *lock) {unsigned long tmp, token;
@@ -72,7 +72,7 @@ static __inline__ unsigned long __spin_treturn tmp; } -static int __inline____raw_spin_trylock (raw_spinlock_t *lock) +static inline int __raw_spin_trylock (raw_spinlock_t *lock) {CLEAR_IO_SYNC ;return __spin_trylock (lock) ==0 ;
@@ -103,7 +103,7 @@ extern void __rw_yield(raw_rwlock_t *loc#define SHARED_PROCESSOR 0#endif -static void __inline____raw_spin_lock (raw_spinlock_t *lock) +static inline void __raw_spin_lock (raw_spinlock_t *lock) {CLEAR_IO_SYNC ;while (1 ) {
@@ -118,7 +118,8 @@ static void __inline__ __raw_spin_lock(r } } -static void __inline____raw_spin_lock_flags (raw_spinlock_t *lock,unsigned long flags) +static inline +void __raw_spin_lock_flags (raw_spinlock_t *lock,unsigned long flags) {unsigned long flags_dis;
@@ -138,7 +139,7 @@ static void __inline__ __raw_spin_lock_f } } -static __inline__void __raw_spin_unlock (raw_spinlock_t *lock) +static inline void __raw_spin_unlock (raw_spinlock_t *lock) {SYNC_IO ; __asm__ __volatile__("# __raw_spin_unlock\n\t"
@@ -179,7 +180,7 @@ extern void __raw_spin_unlock_wait(raw_s* This returns the old value in the lock + 1, * so we got a read lock if the return value is > 0. */ -static long __inline____read_trylock (raw_rwlock_t *rw) +static inline long __read_trylock (raw_rwlock_t *rw) {long tmp;
@@ -203,7 +204,7 @@ static long __inline__ __read_trylock(ra* This returns the old value in the lock, * so we got the write lock if the return value is 0. */ -static __inline__long __write_trylock (raw_rwlock_t *rw) +static inline long __write_trylock (raw_rwlock_t *rw) {long tmp, token;
@@ -223,7 +224,7 @@ static __inline__ long __write_trylock(rreturn tmp; } -static void __inline____raw_read_lock (raw_rwlock_t *rw) +static inline void __raw_read_lock (raw_rwlock_t *rw) {while (1 ) {if (likely (__read_trylock (rw) >0 ))
@@ -237,7 +238,7 @@ static void __inline__ __raw_read_lock(r } } -static void __inline____raw_write_lock (raw_rwlock_t *rw) +static inline void __raw_write_lock (raw_rwlock_t *rw) {while (1 ) {if (likely (__write_trylock (rw) ==0 ))
@@ -251,17 +252,17 @@ static void __inline__ __raw_write_lock( } } -static int __inline____raw_read_trylock (raw_rwlock_t *rw) +static inline int __raw_read_trylock (raw_rwlock_t *rw) {return __read_trylock (rw) >0 ; } -static int __inline____raw_write_trylock (raw_rwlock_t *rw) +static inline int __raw_write_trylock (raw_rwlock_t *rw) {return __write_trylock (rw) ==0 ; } -static void __inline____raw_read_unlock (raw_rwlock_t *rw) +static inline void __raw_read_unlock (raw_rwlock_t *rw) {long tmp;
@@ -278,7 +279,7 @@ static void __inline__ __raw_read_unlock : "cr0", "memory"); } -static __inline__void __raw_write_unlock (raw_rwlock_t *rw) +static inline void __raw_write_unlock (raw_rwlock_t *rw) { __asm__ __volatile__("# write_unlock\n\t" LWSYNC_ON_SMP : : :"memory" );
Quoted 8 lines · Bart Van Assche
When compiling kernel modules for ppc that include <
linux/spinlock.h>, gcc prints a warning message every time it encounters a function declaration where the inline keyword appears after the return type. The patch below makes sure that the order of the inline keyword and the return type is as gcc expects it. Additionally, the__inline__keyword is replaced by inline, as checkpatch expects.Signed-off-by Bart Van Assche <[email protected]>
what version of gcc and what config are you building for?
- k
Quoted 13 lines · Kumar Gala
Quoted 10 lines · Bart Van Assche
When compiling kernel modules for ppc that include <
linux/spinlock.h>, gcc prints a warning message every time it encounters a function declaration where
the inline keyword appears after the return type. The patch below makes sure
that the order of the inline keyword and the return type is as gcc expects it.
Additionally, the__inline__keyword is replaced by inline, as checkpatch expects.
Quoted 3 lines
Quoted 1 line
Signed-off-by Bart Van Assche <[email protected]>what version of gcc and what config are you building for?
The gcc details are as follows (openSUSE 10.3 PPC running on a PS3):
$ gcc -v Using built-in specs. Target: powerpc64-suse-linux Configured with: ../configure --enable-threads=posix --prefix=/usr --with-local-prefix=/usr/local --infodir=/usr/share/info --mandir=/usr/share/man --libdir=/usr/lib --libexecdir=/usr/lib --enable-languages=c,c++,objc,fortran,obj-c++,java,ada --enable-checking=release --with-gxx-include-dir=/usr/include/c++/4.2.1 --enable-ssp --disable-libssp --disable-libgcj --with-slibdir=/lib --with-system-zlib --enable-shared --enable-__cxa_atexit --enable-libstdcxx-allocator=new --disable-libstdcxx-pch --program-suffix=-4.2 --enable-version-specific-runtime-libs --without-system-libunwind --with-cpu=default32 --enable-secureplt --with-long-double-128 --host=powerpc64-suse-linux Thread model: posix gcc version 4.2.1 (SUSE Linux)
Bart.