[PATCH v7 16/26] drivers: firmware: psci: Support hierarchical CPU idle states

2018-04-12 Thread Ulf Hansson
From: Lina Iyer 

Currently CPU's idle states are represented in a flattened model, via the
"cpu-idle-states" binding from within the CPU's device nodes.

Support the hierarchical layout, simply by converting to calling the new OF
helper, of_get_cpu_state_node().

Cc: Lina Iyer 
Suggested-by: Sudeep Holla 
Signed-off-by: Lina Iyer 
Co-developed-by: Ulf Hansson 
Signed-off-by: Ulf Hansson 
---
 drivers/firmware/psci/psci.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/firmware/psci/psci.c b/drivers/firmware/psci/psci.c
index 9788bfc..256b4ed 100644
--- a/drivers/firmware/psci/psci.c
+++ b/drivers/firmware/psci/psci.c
@@ -294,8 +294,7 @@ static int psci_dt_cpu_init_idle(struct device_node 
*cpu_node, int cpu)
struct device_node *state_node;
 
/* Count idle states */
-   while ((state_node = of_parse_phandle(cpu_node, "cpu-idle-states",
- count))) {
+   while ((state_node = of_get_cpu_state_node(cpu_node, count))) {
count++;
of_node_put(state_node);
}
@@ -308,7 +307,7 @@ static int psci_dt_cpu_init_idle(struct device_node 
*cpu_node, int cpu)
return -ENOMEM;
 
for (i = 0; i < count; i++) {
-   state_node = of_parse_phandle(cpu_node, "cpu-idle-states", i);
+   state_node = of_get_cpu_state_node(cpu_node, i);
ret = psci_dt_parse_state_node(state_node, _states[i]);
of_node_put(state_node);
 
-- 
2.7.4



[PATCH v7 16/26] drivers: firmware: psci: Support hierarchical CPU idle states

2018-04-12 Thread Ulf Hansson
From: Lina Iyer 

Currently CPU's idle states are represented in a flattened model, via the
"cpu-idle-states" binding from within the CPU's device nodes.

Support the hierarchical layout, simply by converting to calling the new OF
helper, of_get_cpu_state_node().

Cc: Lina Iyer 
Suggested-by: Sudeep Holla 
Signed-off-by: Lina Iyer 
Co-developed-by: Ulf Hansson 
Signed-off-by: Ulf Hansson 
---
 drivers/firmware/psci/psci.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/firmware/psci/psci.c b/drivers/firmware/psci/psci.c
index 9788bfc..256b4ed 100644
--- a/drivers/firmware/psci/psci.c
+++ b/drivers/firmware/psci/psci.c
@@ -294,8 +294,7 @@ static int psci_dt_cpu_init_idle(struct device_node 
*cpu_node, int cpu)
struct device_node *state_node;
 
/* Count idle states */
-   while ((state_node = of_parse_phandle(cpu_node, "cpu-idle-states",
- count))) {
+   while ((state_node = of_get_cpu_state_node(cpu_node, count))) {
count++;
of_node_put(state_node);
}
@@ -308,7 +307,7 @@ static int psci_dt_cpu_init_idle(struct device_node 
*cpu_node, int cpu)
return -ENOMEM;
 
for (i = 0; i < count; i++) {
-   state_node = of_parse_phandle(cpu_node, "cpu-idle-states", i);
+   state_node = of_get_cpu_state_node(cpu_node, i);
ret = psci_dt_parse_state_node(state_node, _states[i]);
of_node_put(state_node);
 
-- 
2.7.4