Web lists-archives.com

[PATCH RESEND v2 1/2] regulator: include 'enabled' status in debugfs/regulator_summary




Extend regulator's info line with enabled/disabled status.

Signed-off-by: Michał Mirosław <mirq-linux@xxxxxxxxxxxx>
---
v2:
  - include commit message

 drivers/regulator/core.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c
index c0d9ae8d0860..ba4d121ae07f 100644
--- a/drivers/regulator/core.c
+++ b/drivers/regulator/core.c
@@ -4379,13 +4379,18 @@ static void regulator_summary_show_subtree(struct seq_file *s,
 	struct regulation_constraints *c;
 	struct regulator *consumer;
 	struct summary_data summary_data;
+	int is_enabled;
 
 	if (!rdev)
 		return;
 
-	seq_printf(s, "%*s%-*s %3d %4d %6d ",
+	mutex_lock(&rdev->mutex);
+	is_enabled = _regulator_is_enabled(rdev);
+	mutex_unlock(&rdev->mutex);
+
+	seq_printf(s, "%*s%-*s %3d %3d %4d %6d ",
 		   level * 3 + 1, "",
-		   30 - level * 3, rdev_get_name(rdev),
+		   30 - level * 3, rdev_get_name(rdev), is_enabled,
 		   rdev->use_count, rdev->open_count, rdev->bypass_count);
 
 	seq_printf(s, "%5dmV ", _regulator_get_voltage(rdev) / 1000);
@@ -4450,8 +4455,8 @@ static int regulator_summary_show_roots(struct device *dev, void *data)
 
 static int regulator_summary_show(struct seq_file *s, void *data)
 {
-	seq_puts(s, " regulator                      use open bypass voltage current     min     max\n");
-	seq_puts(s, "-------------------------------------------------------------------------------\n");
+	seq_puts(s, " regulator                      ena use open bypass voltage current     min     max\n");
+	seq_puts(s, "-----------------------------------------------------------------------------------\n");
 
 	class_for_each_device(&regulator_class, NULL, s,
 			      regulator_summary_show_roots);
-- 
2.11.0