Count number of reset phandles available with the device node
to know the resets a given device has.

Cc: Philipp Zabel <p.za...@pengutronix.de>
Signed-off-by: Vivek Gautam <vivek.gau...@codeaurora.org>
---

Based on torvald's master branch.

 include/linux/reset.h | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/include/linux/reset.h b/include/linux/reset.h
index 5daff15722d3..88f63a640153 100644
--- a/include/linux/reset.h
+++ b/include/linux/reset.h
@@ -2,6 +2,7 @@
 #define _LINUX_RESET_H_
 
 #include <linux/device.h>
+#include <linux/of.h>
 
 struct reset_control;
 
@@ -234,6 +235,21 @@ static inline struct reset_control 
*of_reset_control_get_shared_by_index(
 }
 
 /**
+ * of_reset_control_get_count - Count number of resets available with a device
+ * @node: device to be reset by the controller
+ */
+static inline unsigned int of_reset_control_get_count(struct device_node *node)
+{
+       int count;
+
+       count = of_count_phandle_with_args(node, "resets", "#reset-cells");
+       if (count < 0)
+               return 0;
+
+       return count;
+}
+
+/**
  * devm_reset_control_get_exclusive - resource managed
  *                                    reset_control_get_exclusive()
  * @dev: device to be reset by the controller
-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project

Reply via email to