[PATCH 5.10.y-cip 14/29] reset: Add of_reset_control_get_optional_exclusive()


Lad Prabhakar
 

From: Biju Das <biju.das.jz@...>

commit c4f5b30dda01f2f6979a9681142de454991182ee upstream.

Add optional variant of of_reset_control_get_exclusive(). If the
requested reset is not specified in the device tree, this function
returns NULL instead of an error.

Suggested-by: Philipp Zabel <p.zabel@...>
Signed-off-by: Biju Das <biju.das.jz@...>
Reviewed-by: Geert Uytterhoeven <geert+renesas@...>
Link: https://lore.kernel.org/r/20211112184413.4391-2-biju.das.jz@bp.renesas.com
Signed-off-by: Philipp Zabel <p.zabel@...>
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@...>
---
include/linux/reset.h | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)

diff --git a/include/linux/reset.h b/include/linux/reset.h
index 05aa9f440f48..13aa754d2269 100644
--- a/include/linux/reset.h
+++ b/include/linux/reset.h
@@ -253,6 +253,26 @@ static inline struct reset_control *of_reset_control_get_exclusive(
return __of_reset_control_get(node, id, 0, false, false, true);
}

+/**
+ * of_reset_control_get_optional_exclusive - Lookup and obtain an optional exclusive
+ * reference to a reset controller.
+ * @node: device to be reset by the controller
+ * @id: reset line name
+ *
+ * Optional variant of of_reset_control_get_exclusive(). If the requested reset
+ * is not specified in the device tree, this function returns NULL instead of
+ * an error.
+ *
+ * Returns a struct reset_control or IS_ERR() condition containing errno.
+ *
+ * Use of id names is optional.
+ */
+static inline struct reset_control *of_reset_control_get_optional_exclusive(
+ struct device_node *node, const char *id)
+{
+ return __of_reset_control_get(node, id, 0, false, true, true);
+}
+
/**
* of_reset_control_get_shared - Lookup and obtain a shared reference
* to a reset controller.
--
2.17.1

Join cip-dev@lists.cip-project.org to automatically receive all group messages.