sparc32: support atomic64_t
authorSam Ravnborg <sam@ravnborg.org>
Tue, 27 Dec 2011 20:46:53 +0000 (21:46 +0100)
committerBen Hutchings <ben@decadent.org.uk>
Tue, 10 Sep 2013 00:57:32 +0000 (01:57 +0100)
commit aea1181b0bd0a09c54546399768f359d1e198e45 upstream.

There is no-one that really require atomic64_t support on sparc32.
But several drivers fails to build without proper atomic64 support.
And for an allyesconfig build for sparc32 this is annoying.

Include the generic atomic64_t support for sparc32.
This has a text footprint cost:

$size vmlinux (before atomic64_t support)
   text    data     bss     dec     hex filename
3578860  134260  108781 3821901  3a514d vmlinux

$size vmlinux (after atomic64_t support)
   text    data     bss     dec     hex filename
3579892  130684  108781 3819357  3a475d vmlinux

text increase (3579892 - 3578860) = 1032 bytes

data decreases - but I fail to explain why!
I have rebuild twice to check my numbers.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
arch/sparc/Kconfig
arch/sparc/include/asm/atomic_32.h

index f210d51..87537e2 100644 (file)
@@ -31,6 +31,7 @@ config SPARC
 
 config SPARC32
        def_bool !64BIT
+       select GENERIC_ATOMIC64
 
 config SPARC64
        def_bool 64BIT
index 5c3c8b6..07dd35e 100644 (file)
@@ -15,6 +15,8 @@
 
 #ifdef __KERNEL__
 
+#include <asm-generic/atomic64.h>
+
 #include <asm/system.h>
 
 #define ATOMIC_INIT(i)  { (i) }