[PATCH v2 2/7] test: dm: regulator: test counter in set_enable_if_allowed test
Svyatoslav Ryhel
clamor95 at gmail.com
Thu Jul 20 14:37:39 CEST 2023
Emulate use of the regulator by a few consumers with balanced on/off
calls.
Signed-off-by: Svyatoslav Ryhel <clamor95 at gmail.com>
---
test/dm/regulator.c | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/test/dm/regulator.c b/test/dm/regulator.c
index 86f4862d9d..9b503e4c59 100644
--- a/test/dm/regulator.c
+++ b/test/dm/regulator.c
@@ -194,6 +194,25 @@ int dm_test_power_regulator_set_enable_if_allowed(struct unit_test_state *uts)
ut_assertok(regulator_set_enable_if_allowed(dev, val_set));
ut_asserteq(regulator_get_enable(dev), !val_set);
+ /* Set the Enable of LDO1 - default is disabled */
+ platname = regulator_names[LDO1][PLATNAME];
+ ut_assertok(regulator_autoset_by_name(platname, &dev_autoset));
+ ut_assertok(regulator_get_by_platname(platname, &dev));
+
+ /* Get the Enable state of LDO1 and compare it with the requested one */
+ ut_assertok(regulator_set_enable_if_allowed(dev, true));
+ ut_asserteq(regulator_get_enable(dev), true);
+
+ /* Emulate second consumer */
+ ut_assertok(regulator_set_enable_if_allowed(dev, true));
+ ut_asserteq(regulator_get_enable(dev), true);
+
+ /* Emulate one of counsumers disable call */
+ ut_assertok(regulator_set_enable_if_allowed(dev, false));
+
+ /* Regulator should still be on since counter indicates one consumer active */
+ ut_asserteq(regulator_get_enable(dev), true);
+
return 0;
}
DM_TEST(dm_test_power_regulator_set_enable_if_allowed, UT_TESTF_SCAN_FDT);
--
2.39.2
More information about the U-Boot
mailing list