Merge "plat/allwinner: do not setup 'disabled' regulators" into integration

This commit is contained in:
André Przywara 2021-03-25 10:45:14 +01:00 committed by TrustedFirmware Code Review
commit 71e7cb7325
1 changed files with 17 additions and 2 deletions

View File

@ -96,12 +96,27 @@ static int setup_regulator(const void *fdt, int node,
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)
{
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;
if (fdt_getprop(fdt, node, "regulator-always-on", NULL) != NULL)
}
if (fdt_getprop(fdt, node, "regulator-always-on", NULL) != NULL) {
return true;
}
return false;
}