[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YJ2dud8alZgKmiQ3@antec>
Date: Fri, 14 May 2021 06:44:25 +0900
From: Stafford Horne <shorne@...il.com>
To: Mark Rutland <mark.rutland@....com>
Cc: linux-kernel@...r.kernel.org, will@...nel.org,
boqun.feng@...il.com, peterz@...radead.org, aou@...s.berkeley.edu,
arnd@...db.de, bcain@...eaurora.org, benh@...nel.crashing.org,
chris@...kel.net, dalias@...c.org, davem@...emloft.net,
deanbo422@...il.com, deller@....de, geert@...ux-m68k.org,
green.hu@...il.com, guoren@...nel.org, ink@...assic.park.msu.ru,
James.Bottomley@...senpartnership.com, jcmvbkbc@...il.com,
jonas@...thpole.se, ley.foon.tan@...el.com, linux@...linux.org.uk,
mattst88@...il.com, monstr@...str.eu, mpe@...erman.id.au,
nickhu@...estech.com, palmer@...belt.com, paulus@...ba.org,
paul.walmsley@...ive.com, rth@...ddle.net,
stefan.kristiansson@...nalahti.fi, tsbogend@...ha.franken.de,
vgupta@...opsys.com, ysato@...rs.sourceforge.jp
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@....com>
> Cc: Boqun Feng <boqun.feng@...il.com>
> Cc: Jonas Bonn <jonas@...thpole.se>
> Cc: Peter Zijlstra <peterz@...radead.org>
> Cc: Stafford Horne <shorne@...il.com>
> Cc: Stefan Kristiansson <stefan.kristiansson@...nalahti.fi>
> Cc: Will Deacon <will@...nel.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@...il.com>
> #endif /* __ASM_OPENRISC_ATOMIC_H */
> --
> 2.11.0
>
Powered by blists - more mailing lists