Messages in this thread | | | Date | Fri, 14 May 2021 06:44:25 +0900 | From | Stafford Horne <> | Subject | Re: [PATCH 05/33] locking/atomic: openrisc: avoid asm-generic/atomic.h |
| |
On Mon, May 10, 2021 at 10:37:25AM +0100, Mark Rutland wrote: > OpenRISC is the only architecture which uses asm-generic/atomic.h and > also provides its own implementation of some functions, requiring > ifdeferry in the asm-generic header. As OpenRISC provides the vast > majority of functions itself, it would be simpler overall if it also > provided the few functions it cribs from asm-generic. > > This patch decouples OpenRISC from asm-generic/atomic.h. Subsequent > patches will simplify the asm-generic implementation.
This is fine, but just a thought. If OpenRISC is the only architecture to do this then after this patch could we remove the ifndefs from asm-generic/atomic.h as additional cleanup?
> There should be no functional change as a result of this patch. > > Signed-off-by: Mark Rutland <mark.rutland@arm.com> > Cc: Boqun Feng <boqun.feng@gmail.com> > Cc: Jonas Bonn <jonas@southpole.se> > Cc: Peter Zijlstra <peterz@infradead.org> > Cc: Stafford Horne <shorne@gmail.com> > Cc: Stefan Kristiansson <stefan.kristiansson@saunalahti.fi> > Cc: Will Deacon <will@kernel.org> > --- > arch/openrisc/include/asm/atomic.h | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/arch/openrisc/include/asm/atomic.h b/arch/openrisc/include/asm/atomic.h > index b589fac39b92..cb86970d3859 100644 > --- a/arch/openrisc/include/asm/atomic.h > +++ b/arch/openrisc/include/asm/atomic.h > @@ -121,6 +121,12 @@ static inline int atomic_fetch_add_unless(atomic_t *v, int a, int u) > } > #define atomic_fetch_add_unless atomic_fetch_add_unless > > -#include <asm-generic/atomic.h> > +#define atomic_read(v) READ_ONCE((v)->counter) > +#define atomic_set(v,i) WRITE_ONCE((v)->counter, (i)) > + > +#include <asm/cmpxchg.h> > + > +#define atomic_xchg(ptr, v) (xchg(&(ptr)->counter, (v))) > +#define atomic_cmpxchg(v, old, new) (cmpxchg(&((v)->counter), (old), (new)))
Acked-by: Stafford Horne <shorne@gmail.com>
> #endif /* __ASM_OPENRISC_ATOMIC_H */ > -- > 2.11.0 >
| |