aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAl Viro <viro@ftp.linux.org.uk>2007-05-15 20:37:00 +0100
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-15 18:56:37 -0700
commitb4e1ded3cf6e13c122f019532cb60347d6c88c8c (patch)
treeb7e59c962232ddb06f884ed7b4056098519c4dfc /include
parent8eafafb54bc594be8a23b00b25055b59838a9c79 (diff)
m32r: __xchg() should be always_inline
it depends on elimination of unreachable branches in switch (by object size), so we must declare it always_inline Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Acked-by: Hirokazu Takata <takata@linux-m32r.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include')
-rw-r--r--include/asm-m32r/system.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/asm-m32r/system.h b/include/asm-m32r/system.h
index b291b2f7295..8ee73d3f316 100644
--- a/include/asm-m32r/system.h
+++ b/include/asm-m32r/system.h
@@ -10,6 +10,7 @@
* Copyright (C) 2004, 2006 Hirokazu Takata <takata at linux-m32r.org>
*/
+#include <linux/compiler.h>
#include <asm/assembler.h>
#ifdef __KERNEL__
@@ -154,7 +155,7 @@ extern void __xchg_called_with_bad_pointer(void);
#define DCACHE_CLEAR(reg0, reg1, addr)
#endif /* CONFIG_CHIP_M32700_TS1 */
-static inline unsigned long
+static __always_inline unsigned long
__xchg(unsigned long x, volatile void * ptr, int size)
{
unsigned long flags;