diff mbox series

[U-Boot] atomic-long: Fix warnings on arm64

Message ID 20180127031104.2353-1-bradleybolen@gmail.com
State Accepted
Commit 9c3264ce40130966897fb9c1b91c120f588531d0
Delegated to: Tom Rini
Headers show
Series [U-Boot] atomic-long: Fix warnings on arm64 | expand

Commit Message

Bradley Bolen Jan. 27, 2018, 3:11 a.m. UTC
Several inline functions in this file reference undefined functions in
U-Boot.  For example:

atomic-long.h:73:9: warning: implicit declaration of function
'atomic64_sub_and_test'
atomic-long.h:80:9: warning: implicit declaration of function
'atomic64_dec_and_test'
atomic-long.h:87:9: warning: implicit declaration of function
'atomic64_inc_and_test'

Handle this the same as the 32 bit build by wrapping these functions in
a __UBOOT__ check.

Signed-off-by: Bradley Bolen <bradleybolen@gmail.com>
---
 include/asm-generic/atomic-long.h | 2 ++
 1 file changed, 2 insertions(+)

Comments

Tom Rini Jan. 28, 2018, 6:53 p.m. UTC | #1
On Fri, Jan 26, 2018 at 10:11:04PM -0500, Bradley Bolen wrote:

> Several inline functions in this file reference undefined functions in
> U-Boot.  For example:
> 
> atomic-long.h:73:9: warning: implicit declaration of function
> 'atomic64_sub_and_test'
> atomic-long.h:80:9: warning: implicit declaration of function
> 'atomic64_dec_and_test'
> atomic-long.h:87:9: warning: implicit declaration of function
> 'atomic64_inc_and_test'
> 
> Handle this the same as the 32 bit build by wrapping these functions in
> a __UBOOT__ check.
> 
> Signed-off-by: Bradley Bolen <bradleybolen@gmail.com>

Applied to u-boot/master, thanks!

[Michal, I think this ends up being easier to maintain long-term than
your RFC patch that removed all of these functions]
diff mbox series

Patch

diff --git a/include/asm-generic/atomic-long.h b/include/asm-generic/atomic-long.h
index d0469ef2e3..32f288b706 100644
--- a/include/asm-generic/atomic-long.h
+++ b/include/asm-generic/atomic-long.h
@@ -66,6 +66,7 @@  static inline void atomic_long_sub(long i, atomic_long_t *l)
 	atomic64_sub(i, v);
 }
 
+#ifndef __UBOOT__
 static inline int atomic_long_sub_and_test(long i, atomic_long_t *l)
 {
 	atomic64_t *v = (atomic64_t *)l;
@@ -135,6 +136,7 @@  static inline long atomic_long_add_unless(atomic_long_t *l, long a, long u)
 	(atomic64_cmpxchg((atomic64_t *)(l), (old), (new)))
 #define atomic_long_xchg(v, new) \
 	(atomic64_xchg((atomic64_t *)(v), (new)))
+#endif  /*  __UBOOT__ */
 
 #else  /*  BITS_PER_LONG == 64  */