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

Commit 045149e6 authored by Rafael J. Wysocki's avatar Rafael J. Wysocki
Browse files

cpufreq: Clean up cpufreq_parse_governor()



Drop an unnecessary local variable from cpufreq_parse_governor()
and rearrange the code in there to make it easier to follow.

Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent ae64f9bd
Loading
Loading
Loading
Loading
+17 −15
Original line number Original line Diff line number Diff line
@@ -604,16 +604,15 @@ static struct cpufreq_governor *find_governor(const char *str_governor)
static int cpufreq_parse_governor(char *str_governor, unsigned int *policy,
static int cpufreq_parse_governor(char *str_governor, unsigned int *policy,
				struct cpufreq_governor **governor)
				struct cpufreq_governor **governor)
{
{
	int err = -EINVAL;

	if (cpufreq_driver->setpolicy) {
	if (cpufreq_driver->setpolicy) {
		if (!strncasecmp(str_governor, "performance", CPUFREQ_NAME_LEN)) {
		if (!strncasecmp(str_governor, "performance", CPUFREQ_NAME_LEN)) {
			*policy = CPUFREQ_POLICY_PERFORMANCE;
			*policy = CPUFREQ_POLICY_PERFORMANCE;
			err = 0;
			return 0;
		} else if (!strncasecmp(str_governor, "powersave",
		}
						CPUFREQ_NAME_LEN)) {

		if (!strncasecmp(str_governor, "powersave", CPUFREQ_NAME_LEN)) {
			*policy = CPUFREQ_POLICY_POWERSAVE;
			*policy = CPUFREQ_POLICY_POWERSAVE;
			err = 0;
			return 0;
		}
		}
	} else {
	} else {
		struct cpufreq_governor *t;
		struct cpufreq_governor *t;
@@ -621,26 +620,29 @@ static int cpufreq_parse_governor(char *str_governor, unsigned int *policy,
		mutex_lock(&cpufreq_governor_mutex);
		mutex_lock(&cpufreq_governor_mutex);


		t = find_governor(str_governor);
		t = find_governor(str_governor);

		if (!t) {
		if (t == NULL) {
			int ret;
			int ret;


			mutex_unlock(&cpufreq_governor_mutex);
			mutex_unlock(&cpufreq_governor_mutex);

			ret = request_module("cpufreq_%s", str_governor);
			ret = request_module("cpufreq_%s", str_governor);
			if (ret)
				return -EINVAL;

			mutex_lock(&cpufreq_governor_mutex);
			mutex_lock(&cpufreq_governor_mutex);


			if (ret == 0)
			t = find_governor(str_governor);
			t = find_governor(str_governor);
		}
		}


		if (t != NULL) {
		mutex_unlock(&cpufreq_governor_mutex);

		if (t) {
			*governor = t;
			*governor = t;
			err = 0;
			return 0;
		}
		}

		mutex_unlock(&cpufreq_governor_mutex);
	}
	}
	return err;

	return -EINVAL;
}
}


/**
/**