diff mbox series

[U-Boot,4/4] xtensa: use asm-generic/atomic.h

Message ID 20180908093907.11757-5-judge.packham@gmail.com
State Accepted
Commit 47cef9c80587e3ec8d3f3cbd546c0539c372a995
Delegated to: Tom Rini
Headers show
Series Rationalise atomic.h implementations | expand

Commit Message

Chris Packham Sept. 8, 2018, 9:39 a.m. UTC
Make use of asm-generic/atomic.h.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
---

 arch/xtensa/include/asm/atomic.h | 44 +-------------------------------
 1 file changed, 1 insertion(+), 43 deletions(-)

Comments

Max Filippov Sept. 8, 2018, 9:26 p.m. UTC | #1
On Sat, Sep 8, 2018 at 2:39 AM, Chris Packham <judge.packham@gmail.com> wrote:
> Make use of asm-generic/atomic.h.
>
> Signed-off-by: Chris Packham <judge.packham@gmail.com>
> ---
>
>  arch/xtensa/include/asm/atomic.h | 44 +-------------------------------
>  1 file changed, 1 insertion(+), 43 deletions(-)

Acked-by: Max Filippov <jcmvbkbc@gmail.com>
Tom Rini Sept. 26, 2018, 12:49 p.m. UTC | #2
On Sat, Sep 08, 2018 at 09:39:07PM +1200, Chris Packham wrote:

> Make use of asm-generic/atomic.h.
> 
> Signed-off-by: Chris Packham <judge.packham@gmail.com>
> Acked-by: Max Filippov <jcmvbkbc@gmail.com>

Applied to u-boot/master, thanks!
diff mbox series

Patch

diff --git a/arch/xtensa/include/asm/atomic.h b/arch/xtensa/include/asm/atomic.h
index 42b32f5d3d6e..4e3ad5647275 100644
--- a/arch/xtensa/include/asm/atomic.h
+++ b/arch/xtensa/include/asm/atomic.h
@@ -7,48 +7,6 @@ 
 #define _XTENSA_ATOMIC_H
 
 #include <asm/system.h>
-
-typedef struct { volatile int counter; } atomic_t;
-
-#define ATOMIC_INIT(i)	{ (i) }
-
-#define atomic_read(v)		((v)->counter)
-#define atomic_set(v, i)	((v)->counter = (i))
-
-static inline void atomic_add(int i, atomic_t *v)
-{
-	unsigned long flags;
-
-	local_irq_save(flags);
-	v->counter += i;
-	local_irq_restore(flags);
-}
-
-static inline void atomic_sub(int i, atomic_t *v)
-{
-	unsigned long flags;
-
-	local_irq_save(flags);
-	v->counter -= i;
-	local_irq_restore(flags);
-}
-
-static inline void atomic_inc(atomic_t *v)
-{
-	unsigned long flags;
-
-	local_irq_save(flags);
-	++v->counter;
-	local_irq_restore(flags);
-}
-
-static inline void atomic_dec(atomic_t *v)
-{
-	unsigned long flags;
-
-	local_irq_save(flags);
-	--v->counter;
-	local_irq_restore(flags);
-}
+#include <asm-generic/atomic.h>
 
 #endif