Unverified Commit 9655a1f5 authored by Roman Beranek's avatar Roman Beranek
Browse files

plat/allwinner: do not setup 'disabled' regulators



If a PMIC regulator has its DT node disabled, leave the regulator off.

Change-Id: I895f740328e8f11d485829c3a89a9b9f8e5644be
Signed-off-by: default avatarRoman Beranek <roman.beranek@prusa3d.com>
parent 5491208a
...@@ -96,12 +96,27 @@ static int setup_regulator(const void *fdt, int node, ...@@ -96,12 +96,27 @@ static int setup_regulator(const void *fdt, int node,
return 0; return 0;
} }
static bool is_node_disabled(const void *fdt, int node)
{
const char *cell;
cell = fdt_getprop(fdt, node, "status", NULL);
if (cell == NULL) {
return false;
}
return strcmp(cell, "okay") != 0;
}
static bool should_enable_regulator(const void *fdt, int node) static bool should_enable_regulator(const void *fdt, int node)
{ {
if (fdt_getprop(fdt, node, "phandle", NULL) != NULL) if (is_node_disabled(fdt, node)) {
return false;
}
if (fdt_getprop(fdt, node, "phandle", NULL) != NULL) {
return true; return true;
if (fdt_getprop(fdt, node, "regulator-always-on", NULL) != NULL) }
if (fdt_getprop(fdt, node, "regulator-always-on", NULL) != NULL) {
return true; return true;
}
return false; return false;
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment