m32r: __xchg() should be always_inline
authorAl Viro <viro@ftp.linux.org.uk>
Tue, 15 May 2007 19:37:00 +0000 (20:37 +0100)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Wed, 16 May 2007 01:56:37 +0000 (18:56 -0700)
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>
include/asm-m32r/system.h

index b291b2f729549d35589e8faf5198db364986731b..8ee73d3f316d1d7174f83169a704b0ea6032133a 100644 (file)
@@ -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;