lkml.org 
[lkml]   [2021]   [May]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[tip: locking/core] locking/atomic: openrisc: avoid asm-generic/atomic.h
    The following commit has been merged into the locking/core branch of tip:

    Commit-ID: f0c7bf1b77c65c9a273207d228df27009f09ec0b
    Gitweb: https://git.kernel.org/tip/f0c7bf1b77c65c9a273207d228df27009f09ec0b
    Author: Mark Rutland <mark.rutland@arm.com>
    AuthorDate: Tue, 25 May 2021 15:02:04 +01:00
    Committer: Peter Zijlstra <peterz@infradead.org>
    CommitterDate: Wed, 26 May 2021 13:20:49 +02:00

    locking/atomic: openrisc: avoid asm-generic/atomic.h

    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 and remove the now
    unnecessary ifdeferry.

    There should be no functional change as a result of this patch.

    Signed-off-by: Mark Rutland <mark.rutland@arm.com>
    Acked-by: Stafford Horne <shorne@gmail.com>
    Cc: Boqun Feng <boqun.feng@gmail.com>
    Cc: Jonas Bonn <jonas@southpole.se>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
    Cc: Will Deacon <will@kernel.org>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Link: https://lore.kernel.org/r/20210525140232.53872-6-mark.rutland@arm.com
    ---
    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 b589fac..cb86970 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)))

    #endif /* __ASM_OPENRISC_ATOMIC_H */
    \
     
     \ /
      Last update: 2021-05-26 13:27    [W:4.336 / U:0.040 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site