[RFC 1/9] of: provide a cleanup helper for OF nodes

From: Bartosz Golaszewski
Date: Thu Feb 01 2024 - 10:56:16 EST


From: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx>

Allow to use __free() to automatically put references to OF nodes.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx>
---
include/linux/of.h | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/include/linux/of.h b/include/linux/of.h
index 331e05918f11..5462ed47f25b 100644
--- a/include/linux/of.h
+++ b/include/linux/of.h
@@ -11,6 +11,8 @@
* Updates for SPARC64 by David S. Miller
* Derived from PowerPC and Sparc prom.h files by Stephen Rothwell, IBM Corp.
*/
+
+#include <linux/cleanup.h>
#include <linux/types.h>
#include <linux/bitops.h>
#include <linux/errno.h>
@@ -887,6 +889,8 @@ static inline const void *of_device_get_match_data(const struct device *dev)
#define of_match_node(_matches, _node) NULL
#endif /* CONFIG_OF */

+DEFINE_FREE(of_node, struct device_node *, if (_T) of_node_put(_T))
+
/* Default string compare functions, Allow arch asm/prom.h to override */
#if !defined(of_compat_cmp)
#define of_compat_cmp(s1, s2, l) strcasecmp((s1), (s2))
--
2.40.1