summary refs log tree commit diff
path: root/arch/metag
diff options
context:
space:
mode:
authorGuenter Roeck <linux@roeck-us.net>2016-10-07 10:40:59 -0700
committerJames Hogan <james.hogan@imgtec.com>2016-10-07 21:35:21 +0100
commit35d04077ad96ed33ceea2501f5a4f1eacda77218 (patch)
tree31d9211ba81e782f85893505676e2256236805c3 /arch/metag
parentc8d2bc9bc39ebea8437fd974fdbc21847bb897a3 (diff)
downloadlinux-35d04077ad96ed33ceea2501f5a4f1eacda77218.tar.gz
metag: Only define atomic_dec_if_positive conditionally
The definition of atomic_dec_if_positive() assumes that
atomic_sub_if_positive() exists, which is only the case if
metag specific atomics are used. This results in the following
build error when trying to build metag1_defconfig.

kernel/ucount.c: In function 'dec_ucount':
kernel/ucount.c:211: error:
	implicit declaration of function 'atomic_sub_if_positive'

Moving the definition of atomic_dec_if_positive() into the metag
conditional code fixes the problem.

Fixes: 6006c0d8ce94 ("metag: Atomics, locks and bitops")
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: James Hogan <james.hogan@imgtec.com>
Cc: <stable@vger.kernel.org> # 3.9.x-
Diffstat (limited to 'arch/metag')
-rw-r--r--arch/metag/include/asm/atomic.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/metag/include/asm/atomic.h b/arch/metag/include/asm/atomic.h
index 470e365f04ea..8ff0a70865f6 100644
--- a/arch/metag/include/asm/atomic.h
+++ b/arch/metag/include/asm/atomic.h
@@ -39,11 +39,10 @@
 #define atomic_dec(v) atomic_sub(1, (v))
 
 #define atomic_inc_not_zero(v) atomic_add_unless((v), 1, 0)
+#define atomic_dec_if_positive(v)       atomic_sub_if_positive(1, v)
 
 #endif
 
-#define atomic_dec_if_positive(v)       atomic_sub_if_positive(1, v)
-
 #include <asm-generic/atomic64.h>
 
 #endif /* __ASM_METAG_ATOMIC_H */