diff mbox

[v2] atomics,cmpxchg: Privatize the inclusion of asm/cmpxchg.h

Message ID 1441762024-2081-1-git-send-email-boqun.feng@gmail.com
State Not Applicable, archived
Delegated to: David Miller
Headers show

Commit Message

Boqun Feng Sept. 9, 2015, 1:27 a.m. UTC
After commit:

atomics: add acquire/release/relaxed variants of some atomic operations

Architectures may only provide {cmp,}xchg_relaxed definitions in
asm/cmpxchg.h. Other variants, such as {cmp,}xchg, may be built in
linux/atomic.h, which means simply including asm/cmpxchg.h may not get
the definitions of all the{cmp,}xchg variants. Therefore, we should
privatize the inclusions of asm/cmpxchg.h to keep it only included in
arch/* and replace the inclusions outside with linux/atomic.h

Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Boqun Feng <boqun.feng@gmail.com>
---
v1 --> v2:
	1. rebase on current master branch of tip tree
	2. remove documentation modification

 drivers/net/ethernet/sfc/mcdi.c     | 2 +-
 drivers/phy/phy-rcar-gen2.c         | 3 +--
 drivers/staging/speakup/selection.c | 2 +-
 3 files changed, 3 insertions(+), 4 deletions(-)

Comments

Greg KH Sept. 9, 2015, 4 a.m. UTC | #1
On Wed, Sep 09, 2015 at 09:27:04AM +0800, Boqun Feng wrote:
> After commit:
> 
> atomics: add acquire/release/relaxed variants of some atomic operations
> 
> Architectures may only provide {cmp,}xchg_relaxed definitions in
> asm/cmpxchg.h. Other variants, such as {cmp,}xchg, may be built in
> linux/atomic.h, which means simply including asm/cmpxchg.h may not get
> the definitions of all the{cmp,}xchg variants. Therefore, we should
> privatize the inclusions of asm/cmpxchg.h to keep it only included in
> arch/* and replace the inclusions outside with linux/atomic.h
> 
> Acked-by: Will Deacon <will.deacon@arm.com>
> Signed-off-by: Boqun Feng <boqun.feng@gmail.com>
> ---
> v1 --> v2:
> 	1. rebase on current master branch of tip tree
> 	2. remove documentation modification
> 

Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Davidlohr Bueso Sept. 13, 2015, 10:47 p.m. UTC | #2
On Wed, 09 Sep 2015, Boqun Feng wrote:

>After commit:
>
>atomics: add acquire/release/relaxed variants of some atomic operations
>
>Architectures may only provide {cmp,}xchg_relaxed definitions in
>asm/cmpxchg.h. Other variants, such as {cmp,}xchg, may be built in
>linux/atomic.h, which means simply including asm/cmpxchg.h may not get
>the definitions of all the{cmp,}xchg variants. Therefore, we should
>privatize the inclusions of asm/cmpxchg.h to keep it only included in
>arch/* and replace the inclusions outside with linux/atomic.h
>
>Acked-by: Will Deacon <will.deacon@arm.com>
>Signed-off-by: Boqun Feng <boqun.feng@gmail.com>

fwiw,

Acked-by: Davidlohr Bueso <dave@stgolabs.net>
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/net/ethernet/sfc/mcdi.c b/drivers/net/ethernet/sfc/mcdi.c
index 81640f8..968383e 100644
--- a/drivers/net/ethernet/sfc/mcdi.c
+++ b/drivers/net/ethernet/sfc/mcdi.c
@@ -9,7 +9,7 @@ 
 
 #include <linux/delay.h>
 #include <linux/moduleparam.h>
-#include <asm/cmpxchg.h>
+#include <linux/atomic.h>
 #include "net_driver.h"
 #include "nic.h"
 #include "io.h"
diff --git a/drivers/phy/phy-rcar-gen2.c b/drivers/phy/phy-rcar-gen2.c
index 6e0d9fa..c7a0599 100644
--- a/drivers/phy/phy-rcar-gen2.c
+++ b/drivers/phy/phy-rcar-gen2.c
@@ -17,8 +17,7 @@ 
 #include <linux/phy/phy.h>
 #include <linux/platform_device.h>
 #include <linux/spinlock.h>
-
-#include <asm/cmpxchg.h>
+#include <linux/atomic.h>
 
 #define USBHS_LPSTS			0x02
 #define USBHS_UGCTRL			0x80
diff --git a/drivers/staging/speakup/selection.c b/drivers/staging/speakup/selection.c
index 98af3b1..aa5ab6c 100644
--- a/drivers/staging/speakup/selection.c
+++ b/drivers/staging/speakup/selection.c
@@ -7,7 +7,7 @@ 
 #include <linux/workqueue.h>
 #include <linux/tty.h>
 #include <linux/tty_flip.h>
-#include <asm/cmpxchg.h>
+#include <linux/atomic.h>
 
 #include "speakup.h"