Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp4395046pxj; Tue, 25 May 2021 07:06:26 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz663s7ZhiQMv8Bjaugmdf8aVCLBoXYJtsnklwy+WCxmXr7egCzYY8zuxVUMT0sMQPoUjG+ X-Received: by 2002:a17:906:6ada:: with SMTP id q26mr30161736ejs.237.1621951586081; Tue, 25 May 2021 07:06:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1621951586; cv=none; d=google.com; s=arc-20160816; b=VgOwgqHD4KPHtVc2KJ2b2rhmFMfxJ6hLxfZRlWufR4w6J40wLsd0BebQZcLqfOaaJr nfONk8f2cerMjJxbNVrxmRSdCdLu911aYHv0c/Gns4ZDXWpta7nNHvaZ6D+5eSFZm4hK pN/vOdmV9IBA9oye2pSoAVBGApEoL/dfdIszw195FYzKIYnhLccMCAy3SudnCbEL3Tcu lm2XcxBeCaCe3ne9mGdAQ1g7rDDljzzqyR+6VGzi1GcnLviSHXErRl4U1K8KStSv4CJj 7sKuvrRPM7Q1kOPQMf3Rfit9x6aFco7hB1rXT6Qf9MWlrGYQujXKCajccgaJT1aKZf71 7jMA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from; bh=Oi33M2OI4KJZodkimj4uFfvo6R+V8F6LVH6mBjNh5KE=; b=a0bSwxV/bRgj3jM0M6cQPhjw862Z6EDeG980mvGOk2MUiT7eCUt00uI/M2v/JKL+xa YV3/w9ch61nFKZ/7YDNJOkX4qGavh6gUUNZ8Im/C4gg3IyaX9jsazaQ1fx5LX3XX68kQ fzoP3Ck5fiSeUd8bmmbVnBOJLypOL4L3nh8pkl8JU5/xr9W5lGskf4zhkVXE3AHRS+TC G9Sbon2dwI6sCtXyayrXiv5lf2Cz4oLJR3HnpapPcADEbjlbqOGnGaIX4bHydvtpHCXB qULUDlC+tM8Z/Dtv+KpGl1VNFZfrmlLpN6pSFYBesTVgZU0i6jEaiZ09Qj5fBgKyeQLW yj2A== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id l7si15168719edv.147.2021.05.25.07.06.03; Tue, 25 May 2021 07:06:26 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233560AbhEYOGE (ORCPT + 99 others); Tue, 25 May 2021 10:06:04 -0400 Received: from foss.arm.com ([217.140.110.172]:56866 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233563AbhEYOGB (ORCPT ); Tue, 25 May 2021 10:06:01 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 5342413D5; Tue, 25 May 2021 07:04:31 -0700 (PDT) Received: from lakrids.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 086F33F73D; Tue, 25 May 2021 07:04:26 -0700 (PDT) From: Mark Rutland To: linux-kernel@vger.kernel.org, will@kernel.org, boqun.feng@gmail.com, peterz@infradead.org Cc: aou@eecs.berkeley.edu, arnd@arndb.de, bcain@codeaurora.org, benh@kernel.crashing.org, chris@zankel.net, dalias@libc.org, davem@davemloft.net, deanbo422@gmail.com, deller@gmx.de, geert@linux-m68k.org, gerg@linux-m68k.org, green.hu@gmail.com, guoren@kernel.org, ink@jurassic.park.msu.ru, James.Bottomley@HansenPartnership.com, jcmvbkbc@gmail.com, jonas@southpole.se, ley.foon.tan@intel.com, linux@armlinux.org.uk, mark.rutland@arm.com, mattst88@gmail.com, monstr@monstr.eu, mpe@ellerman.id.au, nickhu@andestech.com, palmerdabbelt@google.com, paulus@samba.org, paul.walmsley@sifive.com, rth@twiddle.net, shorne@gmail.com, stefan.kristiansson@saunalahti.fi, tsbogend@alpha.franken.de, vgupta@synopsys.com, ysato@users.sourceforge.jp Subject: [PATCH v2 05/33] locking/atomic: openrisc: avoid asm-generic/atomic.h Date: Tue, 25 May 2021 15:02:04 +0100 Message-Id: <20210525140232.53872-6-mark.rutland@arm.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20210525140232.53872-1-mark.rutland@arm.com> References: <20210525140232.53872-1-mark.rutland@arm.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 Acked-by: Stafford Horne Cc: Boqun Feng Cc: Jonas Bonn Cc: Peter Zijlstra Cc: Stefan Kristiansson Cc: Will Deacon --- 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 +#define atomic_read(v) READ_ONCE((v)->counter) +#define atomic_set(v,i) WRITE_ONCE((v)->counter, (i)) + +#include + +#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 */ -- 2.11.0