Go to the documentation of this file.
9 #ifndef _SPARC_BITOPS_H
10 #define _SPARC_BITOPS_H
12 #include <linux/compiler.h>
13 #include <asm/byteorder.h>
17 #ifndef _LINUX_BITOPS_H
18 #error only <linux/bitops.h> can be included directly
35 ADDR = ((
unsigned long *) addr) + (nr >> 5);
36 mask = 1 << (nr & 31);
41 static inline void set_bit(
unsigned long nr,
volatile unsigned long *
addr)
45 ADDR = ((
unsigned long *) addr) + (nr >> 5);
46 mask = 1 << (nr & 31);
55 ADDR = ((
unsigned long *) addr) + (nr >> 5);
56 mask = 1 << (nr & 31);
61 static inline void clear_bit(
unsigned long nr,
volatile unsigned long *addr)
65 ADDR = ((
unsigned long *) addr) + (nr >> 5);
66 mask = 1 << (nr & 31);
75 ADDR = ((
unsigned long *) addr) + (nr >> 5);
76 mask = 1 << (nr & 31);
81 static inline void change_bit(
unsigned long nr,
volatile unsigned long *addr)
85 ADDR = ((
unsigned long *) addr) + (nr >> 5);
86 mask = 1 << (nr & 31);
93 #define smp_mb__before_clear_bit() do { } while(0)
94 #define smp_mb__after_clear_bit() do { } while(0)