mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [net-next RFC PATCH 1/2] net: mdio: implement mdio_mutex_nested guard() variant
@ 2024-06-26 23:02 Christian Marangi
  2024-06-26 23:02 ` [net-next RFC PATCH 2/2] net: dsa: qca: qca8k: convert to guard API Christian Marangi
  2024-06-27 13:52 ` [net-next RFC PATCH 1/2] net: mdio: implement mdio_mutex_nested guard() variant Markus Elfring
  0 siblings, 2 replies; 4+ messages in thread
From: Christian Marangi @ 2024-06-26 23:02 UTC (permalink / raw)
  To: Andrew Lunn, Florian Fainelli, Vladimir Oltean, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, Heiner Kallweit,
	Russell King, Christian Marangi, Russell King (Oracle),
	Marek Behún, Jiasheng Jiang, justinstitt, netdev,
	linux-kernel

Implement mdio_mutex_nested guard() variant.

guard() compes from the cleanup.h API that define handy class to
define the lifecycle of a critical section.

Many driver makes use of the mutex_lock_nested()/mutex_unlock() hence it
might be sensible to provide a variant of the generic guard(mutex),
guard(mdio_mutex_nested) to also support drivers that use
mutex_lock_nested with MDIO_MUTEX_NESTED.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
---
 include/linux/mdio.h | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/include/linux/mdio.h b/include/linux/mdio.h
index 68f8d2e970d4..f13a02d05eb2 100644
--- a/include/linux/mdio.h
+++ b/include/linux/mdio.h
@@ -8,6 +8,8 @@
 
 #include <uapi/linux/mdio.h>
 #include <linux/bitfield.h>
+#include <linux/cleanup.h>
+#include <linux/mutex.h>
 #include <linux/mod_devicetable.h>
 
 struct gpio_desc;
@@ -25,6 +27,9 @@ enum mdio_mutex_lock_class {
 	MDIO_MUTEX_NESTED,
 };
 
+DEFINE_GUARD(mdio_mutex_nested, struct mutex *,
+	     mutex_lock_nested(_T, MDIO_MUTEX_NESTED), mutex_unlock(_T))
+
 struct mdio_device {
 	struct device dev;
 
-- 
2.45.1


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-06-27 13:53 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-06-26 23:02 [net-next RFC PATCH 1/2] net: mdio: implement mdio_mutex_nested guard() variant Christian Marangi
2024-06-26 23:02 ` [net-next RFC PATCH 2/2] net: dsa: qca: qca8k: convert to guard API Christian Marangi
2024-06-27  0:00   ` Andrew Lunn
2024-06-27 13:52 ` [net-next RFC PATCH 1/2] net: mdio: implement mdio_mutex_nested guard() variant Markus Elfring

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®