diff options
author | Sam Ravnborg <sam@ravnborg.org> | 2011-12-27 15:46:53 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-12-27 16:33:13 -0500 |
commit | aea1181b0bd0a09c54546399768f359d1e198e45 (patch) | |
tree | 1cd2b545f2ea4b6d52b5e593a9da5c115598d1d6 | |
parent | ab17da5cb9d4aaf9f04c706761d3a8024897bedd (diff) |
sparc32: support atomic64_t
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>
-rw-r--r-- | arch/sparc/Kconfig | 1 | ||||
-rw-r--r-- | arch/sparc/include/asm/atomic_32.h | 2 |
2 files changed, 3 insertions, 0 deletions
diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig index f92602e86607..27060b20678e 100644 --- a/arch/sparc/Kconfig +++ b/arch/sparc/Kconfig | |||
@@ -31,6 +31,7 @@ config SPARC | |||
31 | 31 | ||
32 | config SPARC32 | 32 | config SPARC32 |
33 | def_bool !64BIT | 33 | def_bool !64BIT |
34 | select GENERIC_ATOMIC64 | ||
34 | 35 | ||
35 | config SPARC64 | 36 | config SPARC64 |
36 | def_bool 64BIT | 37 | def_bool 64BIT |
diff --git a/arch/sparc/include/asm/atomic_32.h b/arch/sparc/include/asm/atomic_32.h index 03fd0c520962..9dd0a769fa18 100644 --- a/arch/sparc/include/asm/atomic_32.h +++ b/arch/sparc/include/asm/atomic_32.h | |||
@@ -13,6 +13,8 @@ | |||
13 | 13 | ||
14 | #include <linux/types.h> | 14 | #include <linux/types.h> |
15 | 15 | ||
16 | #include <asm-generic/atomic64.h> | ||
17 | |||
16 | #include <asm/system.h> | 18 | #include <asm/system.h> |
17 | 19 | ||
18 | #define ATOMIC_INIT(i) { (i) } | 20 | #define ATOMIC_INIT(i) { (i) } |