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: microblaze: use asm-generic exclusively
    The following commit has been merged into the locking/core branch of tip:

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

    locking/atomic: microblaze: use asm-generic exclusively

    Microblaze provides its own implementation of atomic_dec_if_positive(),
    but nothing else. For a while now, the conditional inc/dec ops have been
    optional, and the core code will provide generic implementations using
    the code templates in scripts/atomic/fallbacks/.

    For simplicity, and for consistency with the other conditional atomic
    ops, let's drop the microblaze implementation of
    atomic_dec_if_positive(), and use the generic implementation.

    With that, we can also drop the local asm/atomic.h and asm/cmpxchg.h
    headers, as asm-generic/atomic.h is mandatory-y, and we can pull in
    asm-generic/cmpxchg.h via generic-y. This matches what nios2 and nds32
    do today.

    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: Michal Simek <monstr@monstr.eu>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Will Deacon <will@kernel.org>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Link: https://lore.kernel.org/r/20210525140232.53872-5-mark.rutland@arm.com
    ---
    arch/microblaze/include/asm/Kbuild | 1 +-
    arch/microblaze/include/asm/atomic.h | 28 +--------------------------
    arch/microblaze/include/asm/cmpxchg.h | 9 +--------
    3 files changed, 1 insertion(+), 37 deletions(-)
    delete mode 100644 arch/microblaze/include/asm/atomic.h
    delete mode 100644 arch/microblaze/include/asm/cmpxchg.h

    diff --git a/arch/microblaze/include/asm/Kbuild b/arch/microblaze/include/asm/Kbuild
    index 29b0e55..a055f5d 100644
    --- a/arch/microblaze/include/asm/Kbuild
    +++ b/arch/microblaze/include/asm/Kbuild
    @@ -1,5 +1,6 @@
    # SPDX-License-Identifier: GPL-2.0
    generated-y += syscall_table.h
    +generic-y += cmpxchg.h
    generic-y += extable.h
    generic-y += kvm_para.h
    generic-y += mcs_spinlock.h
    diff --git a/arch/microblaze/include/asm/atomic.h b/arch/microblaze/include/asm/atomic.h
    deleted file mode 100644
    index 41e9aff..0000000
    --- a/arch/microblaze/include/asm/atomic.h
    +++ /dev/null
    @@ -1,28 +0,0 @@
    -/* SPDX-License-Identifier: GPL-2.0 */
    -#ifndef _ASM_MICROBLAZE_ATOMIC_H
    -#define _ASM_MICROBLAZE_ATOMIC_H
    -
    -#include <asm/cmpxchg.h>
    -#include <asm-generic/atomic.h>
    -#include <asm-generic/atomic64.h>
    -
    -/*
    - * Atomically test *v and decrement if it is greater than 0.
    - * The function returns the old value of *v minus 1.
    - */
    -static inline int atomic_dec_if_positive(atomic_t *v)
    -{
    - unsigned long flags;
    - int res;
    -
    - local_irq_save(flags);
    - res = v->counter - 1;
    - if (res >= 0)
    - v->counter = res;
    - local_irq_restore(flags);
    -
    - return res;
    -}
    -#define atomic_dec_if_positive atomic_dec_if_positive
    -
    -#endif /* _ASM_MICROBLAZE_ATOMIC_H */
    diff --git a/arch/microblaze/include/asm/cmpxchg.h b/arch/microblaze/include/asm/cmpxchg.h
    deleted file mode 100644
    index 3523b51..0000000
    --- a/arch/microblaze/include/asm/cmpxchg.h
    +++ /dev/null
    @@ -1,9 +0,0 @@
    -/* SPDX-License-Identifier: GPL-2.0 */
    -#ifndef _ASM_MICROBLAZE_CMPXCHG_H
    -#define _ASM_MICROBLAZE_CMPXCHG_H
    -
    -#ifndef CONFIG_SMP
    -# include <asm-generic/cmpxchg.h>
    -#endif
    -
    -#endif /* _ASM_MICROBLAZE_CMPXCHG_H */
    \
     
     \ /
      Last update: 2021-05-26 13:28    [W:4.171 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site