From 87d7af180e23eca158d638cb62c9488a0f35e77e Mon Sep 17 00:00:00 2001 From: Jagadeesh Kona Date: Mon, 24 May 2021 17:06:50 +0530 Subject: [PATCH] clk: qcom: gdsc-regulator: Dump consumers of GDSC Dump GDSC consumers and consumer votes in clock dump API's. Change-Id: I35b179155756e0aa68da59525888c460d348ff0d Signed-off-by: Jagadeesh Kona --- drivers/clk/qcom/gdsc-regulator.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/drivers/clk/qcom/gdsc-regulator.c b/drivers/clk/qcom/gdsc-regulator.c index d3794fbe283d..5cc91f0e5001 100644 --- a/drivers/clk/qcom/gdsc-regulator.c +++ b/drivers/clk/qcom/gdsc-regulator.c @@ -661,7 +661,10 @@ static struct regmap_config gdsc_regmap_config = { void gdsc_debug_print_regs(struct regulator *regulator) { - struct gdsc *sc = rdev_get_drvdata(regulator->rdev); + struct regulator_dev *rdev = regulator->rdev; + struct gdsc *sc = rdev_get_drvdata(rdev); + struct regulator *reg; + const char *supply_name; uint32_t regvals[3] = {0}; int ret; @@ -670,6 +673,23 @@ void gdsc_debug_print_regs(struct regulator *regulator) return; } + ww_mutex_lock(&rdev->mutex, NULL); + + if (rdev->open_count) + pr_info("%-32s EN\n", "Device-Supply"); + + list_for_each_entry(reg, &rdev->consumer_list, list) { + if (reg->supply_name) + supply_name = reg->supply_name; + else + supply_name = "(null)-(null)"; + + pr_info("%-32s %c\n", supply_name, + (reg->enable_count ? 'Y' : 'N')); + } + + ww_mutex_unlock(&rdev->mutex); + ret = regmap_bulk_read(sc->regmap, REG_OFFSET, regvals, gdsc_regmap_config.max_register ? 3 : 1); if (ret) {