Implement HAVS with vdd_levels sysfs interface
/drivers/cpufreq/cpufreq.c
blob:505e35815ef8eae678ce909c6889911ae25ca45b -> blob:82ca016d5bbf4a60775ada004f60df3ee7a23104
--- drivers/cpufreq/cpufreq.c
+++ drivers/cpufreq/cpufreq.c
@@ -650,25 +650,16 @@ static ssize_t show_scaling_setspeed(str
#ifdef CONFIG_CPU_FREQ_VDD_LEVELS
extern ssize_t acpuclk_get_vdd_levels_str(char *buf);
-#ifdef CONFIG_MSM_CPU_AVS
-static ssize_t show_vdd_levels_havs(struct cpufreq_policy *policy, char *buf)
-#else
static ssize_t show_vdd_levels(struct cpufreq_policy *policy, char *buf)
-#endif
{
return acpuclk_get_vdd_levels_str(buf);
}
-#ifdef CONFIG_MSM_CPU_AVS
-extern void acpuclk_set_vdd(unsigned acpu_khz, int min_vdd, int max_vdd);
-static ssize_t store_vdd_levels_havs(struct cpufreq_policy *policy, const char *buf, size_t count)
-#else
-extern void acpuclk_set_vdd(unsigned acpu_khz, int max_vdd);
+extern void acpuclk_set_vdd(unsigned acpu_khz, int vdd);
static ssize_t store_vdd_levels(struct cpufreq_policy *policy, const char *buf, size_t count)
-#endif
{
int i = 0, j;
- int pair[3] = { 0, 0, 0 };
+ int pair[2] = { 0, 0 };
int sign = 0;
if (count < 1)
@@ -698,11 +689,7 @@ static ssize_t store_vdd_levels(struct c
if (pair[j] != 0)
{
j++;
-#ifndef CONFIG_MSM_CPU_AVS
if ((sign != 0) || (j > 1))
-#else
- if ((sign != 0) || (j > 2))
-#endif
break;
}
}
@@ -713,21 +700,12 @@ static ssize_t store_vdd_levels(struct c
if (sign != 0)
{
if (pair[0] > 0)
-#ifndef CONFIG_MSM_CPU_AVS
acpuclk_set_vdd(0, sign * pair[0]);
-#else
- acpuclk_set_vdd(0, sign * pair[0], 0);
-#endif
}
else
{
-#ifndef CONFIG_MSM_CPU_AVS
if ((pair[0] > 0) && (pair[1] > 0))
acpuclk_set_vdd((unsigned)pair[0], pair[1]);
-#else
- if ((pair[0] > 0) && (pair[1] > 0) && (pair[2] > 0))
- acpuclk_set_vdd((unsigned)pair[0], pair[1], pair[2]);
-#endif
else
return -EINVAL;
}
@@ -763,12 +741,8 @@ define_one_rw(scaling_max_freq);
define_one_rw(scaling_governor);
define_one_rw(scaling_setspeed);
#ifdef CONFIG_CPU_FREQ_VDD_LEVELS
-#ifdef CONFIG_MSM_CPU_AVS
-define_one_rw(vdd_levels_havs);
-#else
define_one_rw(vdd_levels);
#endif
-#endif
static struct attribute *default_attrs[] = {
&cpuinfo_min_freq.attr,
@@ -783,12 +757,8 @@ static struct attribute *default_attrs[]
&scaling_available_governors.attr,
&scaling_setspeed.attr,
#ifdef CONFIG_CPU_FREQ_VDD_LEVELS
-#ifdef CONFIG_MSM_CPU_AVS
- &vdd_levels_havs.attr,
-#else
&vdd_levels.attr,
#endif
-#endif
NULL
};