|
@@ -31,7 +31,11 @@
|
|
|
static union {
|
|
|
raw_spinlock_t lock;
|
|
|
char pad[L1_CACHE_BYTES];
|
|
|
-} atomic64_lock[NR_LOCKS] __cacheline_aligned_in_smp;
|
|
|
+} atomic64_lock[NR_LOCKS] __cacheline_aligned_in_smp = {
|
|
|
+ [0 ... (NR_LOCKS - 1)] = {
|
|
|
+ .lock = __RAW_SPIN_LOCK_UNLOCKED(atomic64_lock.lock),
|
|
|
+ },
|
|
|
+};
|
|
|
|
|
|
static inline raw_spinlock_t *lock_addr(const atomic64_t *v)
|
|
|
{
|
|
@@ -173,14 +177,3 @@ int atomic64_add_unless(atomic64_t *v, long long a, long long u)
|
|
|
return ret;
|
|
|
}
|
|
|
EXPORT_SYMBOL(atomic64_add_unless);
|
|
|
-
|
|
|
-static int init_atomic64_lock(void)
|
|
|
-{
|
|
|
- int i;
|
|
|
-
|
|
|
- for (i = 0; i < NR_LOCKS; ++i)
|
|
|
- raw_spin_lock_init(&atomic64_lock[i].lock);
|
|
|
- return 0;
|
|
|
-}
|
|
|
-
|
|
|
-pure_initcall(init_atomic64_lock);
|