From: Bart Van Assche <bvanassche@acm.org>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-usb@vger.kernel.org, Thomas Gleixner <tglx@linutronix.de>,
Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@kernel.org>,
Andy Shevchenko <andy.shevchenko@gmail.com>,
Amit Sunil Dhamne <amitsd@google.com>,
Bart Van Assche <bvanassche@acm.org>
Subject: [PATCH v2 2/3] locking/mutex: Introduce mutex_init_with_key()
Date: Thu, 5 Sep 2024 13:47:08 -0700 [thread overview]
Message-ID: <20240905204709.556577-3-bvanassche@acm.org> (raw)
In-Reply-To: <20240905204709.556577-1-bvanassche@acm.org>
The following pattern occurs 5 times in kernel drivers:
lockdep_register_key(key);
__mutex_init(mutex, name, key);
In several cases the 'name' argument matches #mutex. Hence, introduce
the mutex_init_with_key() macro. This macro derives the 'name' argument
from the 'mutex' argument.
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Ingo Molnar <mingo@kernel.org>
Suggested-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
---
include/linux/mutex.h | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/include/linux/mutex.h b/include/linux/mutex.h
index ef617089db19..2bf91b57591b 100644
--- a/include/linux/mutex.h
+++ b/include/linux/mutex.h
@@ -64,6 +64,17 @@ do { \
__mutex_init((mutex), #mutex, &__key); \
} while (0)
+/**
+ * mutex_init_with_key - initialize a mutex with a given lockdep key
+ * @mutex: the mutex to be initialized
+ * @key: the lockdep key to be associated with the mutex
+ *
+ * Initialize the mutex to the unlocked state.
+ *
+ * It is not allowed to initialize an already locked mutex.
+ */
+#define mutex_init_with_key(mutex, key) __mutex_init((mutex), #mutex, (key))
+
#ifndef CONFIG_PREEMPT_RT
#define __MUTEX_INITIALIZER(lockname) \
{ .owner = ATOMIC_LONG_INIT(0) \
next prev parent reply other threads:[~2024-09-05 20:47 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-05 20:47 [PATCH v2 0/3] Fix a lockdep complaint related to USB role switching Bart Van Assche
2024-09-05 20:47 ` [PATCH v2 1/3] locking/mutex: Define mutex_init() once Bart Van Assche
2024-09-05 20:51 ` Andy Shevchenko
2024-09-05 20:47 ` Bart Van Assche [this message]
2024-09-05 20:52 ` [PATCH v2 2/3] locking/mutex: Introduce mutex_init_with_key() Andy Shevchenko
2024-09-05 20:47 ` [PATCH v2 3/3] usb: roles: Fix a false positive recursive locking complaint Bart Van Assche
2024-09-05 20:54 ` Andy Shevchenko
2024-09-05 21:18 ` Bart Van Assche
2024-09-06 9:13 ` [PATCH v2 0/3] Fix a lockdep complaint related to USB role switching Peter Zijlstra
2024-09-11 13:41 ` Greg Kroah-Hartman
2024-09-11 18:03 ` Bart Van Assche
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240905204709.556577-3-bvanassche@acm.org \
--to=bvanassche@acm.org \
--cc=amitsd@google.com \
--cc=andy.shevchenko@gmail.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-usb@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.