Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d7e609a4 authored by Lina Iyer's avatar Lina Iyer Committed by Gerrit - the friendly Code Review server
Browse files

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: default avatarLina Iyer <ilina@codeaurora.org>
parent 6d5e0002
Loading
Loading
Loading
Loading
+17 −10
Original line number Diff line number Diff line
@@ -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;

	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, "label", &l->name);
	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;
	}