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

Commit 50e9c852 authored by Viresh Kumar's avatar Viresh Kumar Committed by Rafael J. Wysocki
Browse files

cpufreq: Add doc style comment about cpufreq_cpu_{get|put}()



This clearly states what the code inside these routines is doing and how these
must be used.

Signed-off-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
Acked-by: default avatarSaravana Kannan <skannan@codeaurora.org>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent f133d08a
Loading
Loading
Loading
Loading
+27 −0
Original line number Original line Diff line number Diff line
@@ -207,6 +207,23 @@ struct cpufreq_policy *cpufreq_cpu_get_raw(unsigned int cpu)
	return per_cpu(cpufreq_cpu_data, cpu);
	return per_cpu(cpufreq_cpu_data, cpu);
}
}


/**
 * cpufreq_cpu_get: returns policy for a cpu and marks it busy.
 *
 * @cpu: cpu to find policy for.
 *
 * This returns policy for 'cpu', returns NULL if it doesn't exist.
 * It also increments the kobject reference count to mark it busy and so would
 * require a corresponding call to cpufreq_cpu_put() to decrement it back.
 * If corresponding call cpufreq_cpu_put() isn't made, the policy wouldn't be
 * freed as that depends on the kobj count.
 *
 * It also takes a read-lock of 'cpufreq_rwsem' and doesn't put it back if a
 * valid policy is found. This is done to make sure the driver doesn't get
 * unregistered while the policy is being used.
 *
 * Return: A valid policy on success, otherwise NULL on failure.
 */
struct cpufreq_policy *cpufreq_cpu_get(unsigned int cpu)
struct cpufreq_policy *cpufreq_cpu_get(unsigned int cpu)
{
{
	struct cpufreq_policy *policy = NULL;
	struct cpufreq_policy *policy = NULL;
@@ -237,6 +254,16 @@ struct cpufreq_policy *cpufreq_cpu_get(unsigned int cpu)
}
}
EXPORT_SYMBOL_GPL(cpufreq_cpu_get);
EXPORT_SYMBOL_GPL(cpufreq_cpu_get);


/**
 * cpufreq_cpu_put: Decrements the usage count of a policy
 *
 * @policy: policy earlier returned by cpufreq_cpu_get().
 *
 * This decrements the kobject reference count incremented earlier by calling
 * cpufreq_cpu_get().
 *
 * It also drops the read-lock of 'cpufreq_rwsem' taken at cpufreq_cpu_get().
 */
void cpufreq_cpu_put(struct cpufreq_policy *policy)
void cpufreq_cpu_put(struct cpufreq_policy *policy)
{
{
	kobject_put(&policy->kobj);
	kobject_put(&policy->kobj);