aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/linux/compiler.h
diff options
context:
space:
mode:
authorTony Lindgren <tony@atomide.com>2015-09-14 13:42:11 -0700
committerTony Lindgren <tony@atomide.com>2015-09-14 13:42:11 -0700
commit7168e947291f0ead07e5638b4599fb7845288b69 (patch)
treeb39cdf02f6d2282eeb91696d4a1c7ddb6afb0e38 /include/linux/compiler.h
parentARM: omap2plus_defconfig: Enable MUSB DMA support (diff)
parentARM: dts: Fixup model name for HP t410 dts (diff)
downloadwireguard-linux-7168e947291f0ead07e5638b4599fb7845288b69.tar.xz
wireguard-linux-7168e947291f0ead07e5638b4599fb7845288b69.zip
Merge branch 'fixes-rc1' into omap-for-v4.3/fixes
Diffstat (limited to '')
-rw-r--r--include/linux/compiler.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/include/linux/compiler.h b/include/linux/compiler.h
index e08a6ae7c0a4..c836eb2dc44d 100644
--- a/include/linux/compiler.h
+++ b/include/linux/compiler.h
@@ -252,7 +252,12 @@ static __always_inline void __write_once_size(volatile void *p, void *res, int s
({ union { typeof(x) __val; char __c[1]; } __u; __read_once_size(&(x), __u.__c, sizeof(x)); __u.__val; })
#define WRITE_ONCE(x, val) \
- ({ union { typeof(x) __val; char __c[1]; } __u = { .__val = (val) }; __write_once_size(&(x), __u.__c, sizeof(x)); __u.__val; })
+({ \
+ union { typeof(x) __val; char __c[1]; } __u = \
+ { .__val = (__force typeof(x)) (val) }; \
+ __write_once_size(&(x), __u.__c, sizeof(x)); \
+ __u.__val; \
+})
/**
* READ_ONCE_CTRL - Read a value heading a control dependency