|
@@ -1567,6 +1567,32 @@ static struct subsys_interface cpufreq_interface = {
|
|
|
.remove_dev = cpufreq_remove_dev,
|
|
|
};
|
|
|
|
|
|
+/*
|
|
|
+ * In case platform wants some specific frequency to be configured
|
|
|
+ * during suspend..
|
|
|
+ */
|
|
|
+int cpufreq_generic_suspend(struct cpufreq_policy *policy)
|
|
|
+{
|
|
|
+ int ret;
|
|
|
+
|
|
|
+ if (!policy->suspend_freq) {
|
|
|
+ pr_err("%s: suspend_freq can't be zero\n", __func__);
|
|
|
+ return -EINVAL;
|
|
|
+ }
|
|
|
+
|
|
|
+ pr_debug("%s: Setting suspend-freq: %u\n", __func__,
|
|
|
+ policy->suspend_freq);
|
|
|
+
|
|
|
+ ret = __cpufreq_driver_target(policy, policy->suspend_freq,
|
|
|
+ CPUFREQ_RELATION_H);
|
|
|
+ if (ret)
|
|
|
+ pr_err("%s: unable to set suspend-freq: %u. err: %d\n",
|
|
|
+ __func__, policy->suspend_freq, ret);
|
|
|
+
|
|
|
+ return ret;
|
|
|
+}
|
|
|
+EXPORT_SYMBOL(cpufreq_generic_suspend);
|
|
|
+
|
|
|
/**
|
|
|
* cpufreq_suspend() - Suspend CPUFreq governors
|
|
|
*
|