summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuca Coelho <luciano.coelho@intel.com>2018-09-20 14:28:42 +0300
committerJohannes Berg <johannes.berg@intel.com>2018-09-24 09:28:51 +0200
commit0e46822b6b9fda206c79cc581dbc2d7d296db653 (patch)
tree9b6a0d6653643daf6c9e2b27d88cbe8f0d86585f
parent35430f867adfccb27c2981bd5dab17565cdc7117 (diff)
backports: add __alloc_bucket_spinlocks() for < 4.19
Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
-rw-r--r--backport/backport-include/linux/spinlock.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/backport/backport-include/linux/spinlock.h b/backport/backport-include/linux/spinlock.h
index a46f6e33..b27f9171 100644
--- a/backport/backport-include/linux/spinlock.h
+++ b/backport/backport-include/linux/spinlock.h
@@ -25,4 +25,21 @@ int alloc_bucket_spinlocks(spinlock_t **locks, unsigned int *lock_mask,
void free_bucket_spinlocks(spinlock_t *locks);
#endif /* LINUX_VERSION_IS_LESS(4,16,0) */
+#if LINUX_VERSION_IS_LESS(4,19,0)
+int __alloc_bucket_spinlocks(spinlock_t **locks, unsigned int *lock_mask,
+ size_t max_size, unsigned int cpu_mult,
+ gfp_t gfp, const char *name,
+ struct lock_class_key *key);
+
+#define alloc_bucket_spinlocks(locks, lock_mask, max_size, cpu_mult, gfp) \
+ ({ \
+ static struct lock_class_key key; \
+ int ret; \
+ \
+ ret = __alloc_bucket_spinlocks(locks, lock_mask, max_size, \
+ cpu_mult, gfp, #locks, &key); \
+ ret; \
+ })
+#endif /* LINUX_VERSION_IS_LESS(4,19,0) */
+
#endif /* __BACKPORT_SPINLOCK_H */