Now that there's no single use of the value of WRITE_ONCE(), change the implementation to eliminate it.
Suggested-by: Mark Rutland <[email protected]> Signed-off-by: Andrea Parri <[email protected]> Cc: Arnd Bergmann <[email protected]> Cc: Greg Kroah-Hartman <[email protected]> Cc: Jorgen Hansen <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Will Deacon <[email protected]> Cc: Mark Rutland <[email protected]> Cc: "Paul E. McKenney" <[email protected]> --- include/linux/compiler.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/include/linux/compiler.h b/include/linux/compiler.h index 8aaf7cd026b06..4024c809a6c63 100644 --- a/include/linux/compiler.h +++ b/include/linux/compiler.h @@ -277,12 +277,11 @@ unsigned long read_word_at_a_time(const void *addr) } #define WRITE_ONCE(x, val) \ -({ \ +do { \ union { typeof(x) __val; char __c[1]; } __u = \ { .__val = (__force typeof(x)) (val) }; \ __write_once_size(&(x), __u.__c, sizeof(x)); \ - __u.__val; \ -}) +} while (0) #endif /* __KERNEL__ */ -- 2.7.4

