diff options
Diffstat (limited to 'arch/sh/include/asm/bitops.h')
-rw-r--r-- | arch/sh/include/asm/bitops.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/arch/sh/include/asm/bitops.h b/arch/sh/include/asm/bitops.h index 367930d8e5ae..ebe595b7ab1f 100644 --- a/arch/sh/include/asm/bitops.h +++ b/arch/sh/include/asm/bitops.h | |||
@@ -13,21 +13,22 @@ | |||
13 | 13 | ||
14 | #ifdef CONFIG_GUSA_RB | 14 | #ifdef CONFIG_GUSA_RB |
15 | #include <asm/bitops-grb.h> | 15 | #include <asm/bitops-grb.h> |
16 | #elif defined(CONFIG_CPU_SH2A) | ||
17 | #include <asm-generic/bitops/atomic.h> | ||
18 | #include <asm/bitops-op32.h> | ||
16 | #elif defined(CONFIG_CPU_SH4A) | 19 | #elif defined(CONFIG_CPU_SH4A) |
17 | #include <asm/bitops-llsc.h> | 20 | #include <asm/bitops-llsc.h> |
18 | #else | 21 | #else |
19 | #include <asm/bitops-irq.h> | 22 | #include <asm-generic/bitops/atomic.h> |
23 | #include <asm-generic/bitops/non-atomic.h> | ||
20 | #endif | 24 | #endif |
21 | 25 | ||
22 | |||
23 | /* | 26 | /* |
24 | * clear_bit() doesn't provide any barrier for the compiler. | 27 | * clear_bit() doesn't provide any barrier for the compiler. |
25 | */ | 28 | */ |
26 | #define smp_mb__before_clear_bit() barrier() | 29 | #define smp_mb__before_clear_bit() barrier() |
27 | #define smp_mb__after_clear_bit() barrier() | 30 | #define smp_mb__after_clear_bit() barrier() |
28 | 31 | ||
29 | #include <asm-generic/bitops/non-atomic.h> | ||
30 | |||
31 | #ifdef CONFIG_SUPERH32 | 32 | #ifdef CONFIG_SUPERH32 |
32 | static inline unsigned long ffz(unsigned long word) | 33 | static inline unsigned long ffz(unsigned long word) |
33 | { | 34 | { |