@@ -78,7 +78,7 @@ set_bit(long nr, volatile unsigned long *addr)
78
78
: "iq" ((u8 )CONST_MASK (nr ))
79
79
: "memory" );
80
80
} else {
81
- asm volatile (LOCK_PREFIX " bts %1,%0"
81
+ asm volatile (LOCK_PREFIX __ASM_SIZE ( bts ) " %1,%0"
82
82
: BITOP_ADDR (addr ) : "Ir " (nr) : " memory ");
83
83
}
84
84
}
@@ -94,7 +94,7 @@ set_bit(long nr, volatile unsigned long *addr)
94
94
*/
95
95
static __always_inline void __set_bit (long nr , volatile unsigned long * addr )
96
96
{
97
- asm volatile (" bts %1,%0" : ADDR : "Ir" (nr ) : "memory" );
97
+ asm volatile (__ASM_SIZE ( bts ) " %1,%0" : ADDR : "Ir" (nr ) : "memory" );
98
98
}
99
99
100
100
/**
@@ -115,7 +115,7 @@ clear_bit(long nr, volatile unsigned long *addr)
115
115
: CONST_MASK_ADDR (nr , addr )
116
116
: "iq" ((u8 )~CONST_MASK (nr )));
117
117
} else {
118
- asm volatile (LOCK_PREFIX " btr %1,%0"
118
+ asm volatile (LOCK_PREFIX __ASM_SIZE ( btr ) " %1,%0"
119
119
: BITOP_ADDR (addr )
120
120
: "Ir" (nr ));
121
121
}
@@ -137,7 +137,7 @@ static __always_inline void clear_bit_unlock(long nr, volatile unsigned long *ad
137
137
138
138
static __always_inline void __clear_bit (long nr , volatile unsigned long * addr )
139
139
{
140
- asm volatile (" btr %1,%0" : ADDR : "Ir" (nr ));
140
+ asm volatile (__ASM_SIZE ( btr ) " %1,%0" : ADDR : "Ir" (nr ));
141
141
}
142
142
143
143
static __always_inline bool clear_bit_unlock_is_negative_byte (long nr , volatile unsigned long * addr )
@@ -182,7 +182,7 @@ static __always_inline void __clear_bit_unlock(long nr, volatile unsigned long *
182
182
*/
183
183
static __always_inline void __change_bit (long nr , volatile unsigned long * addr )
184
184
{
185
- asm volatile (" btc %1,%0" : ADDR : "Ir" (nr ));
185
+ asm volatile (__ASM_SIZE ( btc ) " %1,%0" : ADDR : "Ir" (nr ));
186
186
}
187
187
188
188
/**
@@ -201,7 +201,7 @@ static __always_inline void change_bit(long nr, volatile unsigned long *addr)
201
201
: CONST_MASK_ADDR (nr , addr )
202
202
: "iq" ((u8 )CONST_MASK (nr )));
203
203
} else {
204
- asm volatile (LOCK_PREFIX " btc %1,%0"
204
+ asm volatile (LOCK_PREFIX __ASM_SIZE ( btc ) " %1,%0"
205
205
: BITOP_ADDR (addr )
206
206
: "Ir" (nr ));
207
207
}
@@ -217,7 +217,8 @@ static __always_inline void change_bit(long nr, volatile unsigned long *addr)
217
217
*/
218
218
static __always_inline bool test_and_set_bit (long nr , volatile unsigned long * addr )
219
219
{
220
- GEN_BINARY_RMWcc (LOCK_PREFIX "bts" , * addr , "Ir" , nr , "%0" , c );
220
+ GEN_BINARY_RMWcc (LOCK_PREFIX __ASM_SIZE (bts ),
221
+ * addr , "Ir ", nr, " %0 ", c);
221
222
}
222
223
223
224
/**
@@ -246,7 +247,7 @@ static __always_inline bool __test_and_set_bit(long nr, volatile unsigned long *
246
247
{
247
248
bool oldbit ;
248
249
249
- asm(" bts %2,%1"
250
+ asm(__ASM_SIZE ( bts ) " %2,%1"
250
251
CC_SET (c )
251
252
: CC_OUT (c ) (oldbit ), ADDR
252
253
: "Ir" (nr ));
@@ -263,7 +264,8 @@ static __always_inline bool __test_and_set_bit(long nr, volatile unsigned long *
263
264
*/
264
265
static __always_inline bool test_and_clear_bit (long nr , volatile unsigned long * addr )
265
266
{
266
- GEN_BINARY_RMWcc (LOCK_PREFIX "btr" , * addr , "Ir" , nr , "%0" , c );
267
+ GEN_BINARY_RMWcc (LOCK_PREFIX __ASM_SIZE (btr ),
268
+ * addr , "Ir ", nr, " %0 ", c);
267
269
}
268
270
269
271
/**
@@ -286,7 +288,7 @@ static __always_inline bool __test_and_clear_bit(long nr, volatile unsigned long
286
288
{
287
289
bool oldbit ;
288
290
289
- asm volatile (" btr %2,%1"
291
+ asm volatile (__ASM_SIZE ( btr ) " %2,%1"
290
292
CC_SET (c )
291
293
: CC_OUT (c ) (oldbit ), ADDR
292
294
: "Ir" (nr ));
@@ -298,7 +300,7 @@ static __always_inline bool __test_and_change_bit(long nr, volatile unsigned lon
298
300
{
299
301
bool oldbit ;
300
302
301
- asm volatile (" btc %2,%1"
303
+ asm volatile (__ASM_SIZE ( btc ) " %2,%1"
302
304
CC_SET (c )
303
305
: CC_OUT (c ) (oldbit ), ADDR
304
306
: "Ir" (nr ) : "memory" );
@@ -316,7 +318,8 @@ static __always_inline bool __test_and_change_bit(long nr, volatile unsigned lon
316
318
*/
317
319
static __always_inline bool test_and_change_bit (long nr , volatile unsigned long * addr )
318
320
{
319
- GEN_BINARY_RMWcc (LOCK_PREFIX "btc" , * addr , "Ir" , nr , "%0" , c );
321
+ GEN_BINARY_RMWcc (LOCK_PREFIX __ASM_SIZE (btc ),
322
+ * addr , "Ir ", nr, " %0 ", c);
320
323
}
321
324
322
325
static __always_inline bool constant_test_bit (long nr , const volatile unsigned long * addr )
@@ -329,7 +332,7 @@ static __always_inline bool variable_test_bit(long nr, volatile const unsigned l
329
332
{
330
333
bool oldbit ;
331
334
332
- asm volatile ("bt %2,%1"
335
+ asm volatile (__ASM_SIZE ( bt ) " %2,%1"
333
336
CC_SET (c )
334
337
: CC_OUT (c ) (oldbit )
335
338
: "m" (* (unsigned long * )addr ), "Ir" (nr ));
0 commit comments