From 52d3cfdb17e639a9b9e5e13b08d5a2e14d72509b Mon Sep 17 00:00:00 2001 From: Luca Coelho Date: Thu, 20 Sep 2018 14:28:36 +0300 Subject: backport: prevent unused subclass variable warning in < 3.18 In kernels earlier than 3.18, the raw_spin_lock defininition when CONFIG_DEBUG_LOCK_ALLOC is not enabled, was dropping one of the parameters, which caused a few "unused variable" warnings at places where this argument was only used in the call to raw_spin_lock_nested(). Take the latest definition which evaluates the argument to avoid compiler warnings. Signed-off-by: Luca Coelho Signed-off-by: Johannes Berg --- backport/backport-include/linux/spinlock.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/backport/backport-include/linux/spinlock.h b/backport/backport-include/linux/spinlock.h index 07daa358..a46f6e33 100644 --- a/backport/backport-include/linux/spinlock.h +++ b/backport/backport-include/linux/spinlock.h @@ -2,6 +2,21 @@ #define __BACKPORT_SPINLOCK_H #include_next +#if LINUX_VERSION_IS_LESS(3,18,0) +#ifndef CONFIG_DEBUG_LOCK_ALLOC +#undef raw_spin_lock_nested +/* + * Always evaluate the 'subclass' argument to avoid that the compiler + * warns about set-but-not-used variables when building with + * CONFIG_DEBUG_LOCK_ALLOC=n and with W=1. + */ +# define raw_spin_lock_nested(lock, subclass) \ + _raw_spin_lock(((void)(subclass), (lock))) +# define raw_spin_lock_nest_lock(lock, nest_lock) _raw_spin_lock(lock) +#endif +#endif /* LINUX_VERSION_IS_LESS(3,18,0) */ + + #if LINUX_VERSION_IS_LESS(4,16,0) int alloc_bucket_spinlocks(spinlock_t **locks, unsigned int *lock_mask, size_t max_size, unsigned int cpu_mult, -- cgit v1.2.3