mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-09 13:49:24 -04:00
drivers: cpuidle: lpm-levels-of: conform to arm,idle-state definition
Start confirming to arm,idle-state compatible definition. In addition to
being compliant, this allows us to use the new API to setup the PSCI
cluster state ids for the CPU, before entering the idle state.
Let's do the following:
- Rename enter/exit latency, residency, label properties
- In addition to qcom,psci-cpu-mode specify
arm,psci-suspend-param.
- Update copyright
Change-Id: I3930fce9788e8be1e43e0e7c9ff247df2ec23f55
Signed-off-by: Lina Iyer <ilina@codeaurora.org>
This commit is contained in:
parent
6d5e000248
commit
d7e609a4d7
1 changed files with 17 additions and 10 deletions
|
|
@ -345,9 +345,9 @@ static int parse_cluster_params(struct device_node *dn, struct lpm_cluster *c)
|
|||
{
|
||||
int ret;
|
||||
|
||||
ret = of_property_read_string(dn, "label", &c->cluster_name);
|
||||
ret = of_property_read_string(dn, "idle-state-name", &c->cluster_name);
|
||||
if (ret) {
|
||||
pr_err("Failed to read label ret: %d\n", ret);
|
||||
pr_err("Failed to read name ret: %d\n", ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
@ -384,17 +384,17 @@ static int parse_power_params(struct device_node *dn, struct power_params *pwr)
|
|||
{
|
||||
int ret;
|
||||
|
||||
ret = lpm_of_read_u32(dn, "qcom,entry-latency-us",
|
||||
ret = lpm_of_read_u32(dn, "entry-latency-us",
|
||||
&pwr->entry_latency, true);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
ret = lpm_of_read_u32(dn, "qcom,exit-latency-us",
|
||||
ret = lpm_of_read_u32(dn, "exit-latency-us",
|
||||
&pwr->exit_latency, true);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
ret = lpm_of_read_u32(dn, "qcom,min-residency-us",
|
||||
ret = lpm_of_read_u32(dn, "min-residency-us",
|
||||
&pwr->min_residency, true);
|
||||
|
||||
return ret;
|
||||
|
|
@ -406,9 +406,10 @@ static int parse_cluster_level(struct device_node *dn,
|
|||
struct lpm_cluster_level *level = &cluster->levels[cluster->nlevels];
|
||||
int ret = -ENOMEM;
|
||||
|
||||
ret = of_property_read_string(dn, "label", &level->level_name);
|
||||
ret = of_property_read_string(dn, "idle-state-name",
|
||||
&level->level_name);
|
||||
if (ret) {
|
||||
pr_err("Failed to read label ret: %d\n", ret);
|
||||
pr_err("Failed to read name ret: %d\n", ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
@ -443,11 +444,17 @@ static int parse_cluster_level(struct device_node *dn,
|
|||
|
||||
static int parse_cpu_mode(struct device_node *n, struct lpm_cpu_level *l)
|
||||
{
|
||||
int ret;
|
||||
int ret, p;
|
||||
|
||||
ret = of_property_read_string(n, "label", &l->name);
|
||||
if (!of_device_is_compatible(n, "arm,idle-state") ||
|
||||
lpm_of_read_u32(n, "arm,psci-suspend-param", &p, true)) {
|
||||
pr_err("Failed to comply with arm,idle-state bindings.\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
ret = of_property_read_string(n, "idle-state-name", &l->name);
|
||||
if (ret) {
|
||||
pr_err("Failed to read label level: %s\n", l->name);
|
||||
pr_err("Failed to read level name: ret: %d\n", ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue