Commit 4f774c4a authored by Bjorn Andersson's avatar Bjorn Andersson Committed by Viresh Kumar
Browse files

cpufreq: Reintroduce ready() callback



This effectively revert '4bf8e582 ("cpufreq: Remove ready()
callback")', in order to reintroduce the ready callback.

This is needed in order to be able to leave the thermal pressure
interrupts in the Qualcomm CPUfreq driver disabled during
initialization, so that it doesn't fire while related_cpus are still 0.

Signed-off-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
[ Viresh: Added the Chinese translation as well and updated commit msg ]
Signed-off-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
parent e783362e
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -75,6 +75,9 @@ And optionally
 .resume - A pointer to a per-policy resume function which is called
 with interrupts disabled and _before_ the governor is started again.

 .ready - A pointer to a per-policy ready function which is called after
 the policy is fully initialized.

 .attr - A pointer to a NULL-terminated list of "struct freq_attr" which
 allow to export values to sysfs.

+2 −0
Original line number Diff line number Diff line
@@ -84,6 +84,8 @@ CPUfreq核心层注册一个cpufreq_driver结构体。
 .resume - 一个指向per-policy恢复函数的指针,该函数在关中断且在调节器再一次启动前被
 调用。

 .ready - 一个指向per-policy准备函数的指针,该函数在策略完全初始化之后被调用。

 .attr - 一个指向NULL结尾的"struct freq_attr"列表的指针,该列表允许导出值到
 sysfs。

+4 −0
Original line number Diff line number Diff line
@@ -1518,6 +1518,10 @@ static int cpufreq_online(unsigned int cpu)

	kobject_uevent(&policy->kobj, KOBJ_ADD);

	/* Callback for handling stuff after policy is ready */
	if (cpufreq_driver->ready)
		cpufreq_driver->ready(policy);

	if (cpufreq_thermal_control_enabled(cpufreq_driver))
		policy->cdev = of_cpufreq_cooling_register(policy);

+3 −0
Original line number Diff line number Diff line
@@ -382,6 +382,9 @@ struct cpufreq_driver {
	int		(*suspend)(struct cpufreq_policy *policy);
	int		(*resume)(struct cpufreq_policy *policy);

	/* Will be called after the driver is fully initialized */
	void		(*ready)(struct cpufreq_policy *policy);

	struct freq_attr **attr;

	/* platform specific boost support code */