From: Nishanth Menon Date: Tue, 12 May 2026 17:06:15 +0000 (-0500) Subject: soc: ti: knav_qmss: Inline lockdep condition in for_each_handle_rcu X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b6542cf0f4d062133f6e05de03382080ad941c67;p=thirdparty%2Fkernel%2Flinux.git soc: ti: knav_qmss: Inline lockdep condition in for_each_handle_rcu knav_dev_lock_held() is a single-use wrapper around lockdep_is_held(&knav_dev_lock), used only as the lockdep condition in for_each_handle_rcu. When CONFIG_PROVE_RCU_LIST is disabled, list_for_each_entry_rcu() elides the condition argument entirely, causing clang to report the macro as unused with W=2: knav_qmss_queue.c:30:9: warning: macro is not used [-Wunused-macros] 30 | #define knav_dev_lock_held() \ Remove the intermediate macro and open-code lockdep_is_held() directly in the for_each_handle_rcu definition. Reviewed-by: Andrew Davis Reviewed-by: Sai Sree Kartheek Adivi Reviewed-by: Hari Prasath Gujulan Elango Link: https://patch.msgid.link/20260512170623.3174416-4-nm@ti.com Signed-off-by: Nishanth Menon --- diff --git a/drivers/soc/ti/knav_qmss_queue.c b/drivers/soc/ti/knav_qmss_queue.c index 52a30abb2caf6..68c55134ad6cb 100644 --- a/drivers/soc/ti/knav_qmss_queue.c +++ b/drivers/soc/ti/knav_qmss_queue.c @@ -27,9 +27,6 @@ static struct knav_device *knav_qdev; static DEFINE_MUTEX(knav_dev_lock); -#define knav_dev_lock_held() \ - lockdep_is_held(&knav_dev_lock) - /* Queue manager register indices in DTS */ #define KNAV_QUEUE_PEEK_REG_INDEX 0 #define KNAV_QUEUE_STATUS_REG_INDEX 1 @@ -58,7 +55,7 @@ static DEFINE_MUTEX(knav_dev_lock); #define for_each_handle_rcu(qh, inst) \ list_for_each_entry_rcu(qh, &inst->handles, list, \ - knav_dev_lock_held()) + lockdep_is_held(&knav_dev_lock)) #define for_each_instance(idx, inst, kdev) \ for (idx = 0, inst = kdev->instances; \