aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-x86/local_64.h
diff options
context:
space:
mode:
authorHarvey Harrison <harvey.harrison@gmail.com>2008-01-30 07:31:26 -0500
committerIngo Molnar <mingo@elte.hu>2008-01-30 07:31:26 -0500
commit4ad02718345783a3b84bae1895917666b779850d (patch)
treeffeb70f577b394a042f5816afd0de081560b98e6 /include/asm-x86/local_64.h
parentfe758fb1192790f8e465a7f59efe47ca73717d3e (diff)
x86: clean up local_{32|64}.h
Common prefix from both files moved to local.h Change __inline__ to inline Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include/asm-x86/local_64.h')
-rw-r--r--include/asm-x86/local_64.h25
1 files changed, 6 insertions, 19 deletions
diff --git a/include/asm-x86/local_64.h b/include/asm-x86/local_64.h
index e87492bb0693..92330f8135f8 100644
--- a/include/asm-x86/local_64.h
+++ b/include/asm-x86/local_64.h
@@ -1,19 +1,6 @@
1#ifndef _ARCH_X8664_LOCAL_H 1#ifndef _ARCH_X8664_LOCAL_H
2#define _ARCH_X8664_LOCAL_H 2#define _ARCH_X8664_LOCAL_H
3 3
4#include <linux/percpu.h>
5#include <asm/atomic.h>
6
7typedef struct
8{
9 atomic_long_t a;
10} local_t;
11
12#define LOCAL_INIT(i) { ATOMIC_LONG_INIT(i) }
13
14#define local_read(l) atomic_long_read(&(l)->a)
15#define local_set(l,i) atomic_long_set(&(l)->a, (i))
16
17static inline void local_inc(local_t *l) 4static inline void local_inc(local_t *l)
18{ 5{
19 __asm__ __volatile__( 6 __asm__ __volatile__(
@@ -55,7 +42,7 @@ static inline void local_sub(long i, local_t *l)
55 * true if the result is zero, or false for all 42 * true if the result is zero, or false for all
56 * other cases. 43 * other cases.
57 */ 44 */
58static __inline__ int local_sub_and_test(long i, local_t *l) 45static inline int local_sub_and_test(long i, local_t *l)
59{ 46{
60 unsigned char c; 47 unsigned char c;
61 48
@@ -74,7 +61,7 @@ static __inline__ int local_sub_and_test(long i, local_t *l)
74 * returns true if the result is 0, or false for all other 61 * returns true if the result is 0, or false for all other
75 * cases. 62 * cases.
76 */ 63 */
77static __inline__ int local_dec_and_test(local_t *l) 64static inline int local_dec_and_test(local_t *l)
78{ 65{
79 unsigned char c; 66 unsigned char c;
80 67
@@ -93,7 +80,7 @@ static __inline__ int local_dec_and_test(local_t *l)
93 * and returns true if the result is zero, or false for all 80 * and returns true if the result is zero, or false for all
94 * other cases. 81 * other cases.
95 */ 82 */
96static __inline__ int local_inc_and_test(local_t *l) 83static inline int local_inc_and_test(local_t *l)
97{ 84{
98 unsigned char c; 85 unsigned char c;
99 86
@@ -113,7 +100,7 @@ static __inline__ int local_inc_and_test(local_t *l)
113 * if the result is negative, or false when 100 * if the result is negative, or false when
114 * result is greater than or equal to zero. 101 * result is greater than or equal to zero.
115 */ 102 */
116static __inline__ int local_add_negative(long i, local_t *l) 103static inline int local_add_negative(long i, local_t *l)
117{ 104{
118 unsigned char c; 105 unsigned char c;
119 106
@@ -131,7 +118,7 @@ static __inline__ int local_add_negative(long i, local_t *l)
131 * 118 *
132 * Atomically adds @i to @l and returns @i + @l 119 * Atomically adds @i to @l and returns @i + @l
133 */ 120 */
134static __inline__ long local_add_return(long i, local_t *l) 121static inline long local_add_return(long i, local_t *l)
135{ 122{
136 long __i = i; 123 long __i = i;
137 __asm__ __volatile__( 124 __asm__ __volatile__(
@@ -141,7 +128,7 @@ static __inline__ long local_add_return(long i, local_t *l)
141 return i + __i; 128 return i + __i;
142} 129}
143 130
144static __inline__ long local_sub_return(long i, local_t *l) 131static inline long local_sub_return(long i, local_t *l)
145{ 132{
146 return local_add_return(-i,l); 133 return local_add_return(-i,l);
147} 134}