Allow resetting of acpu_freq_tbl voltage minimum via vdd_levels sysfs interface
/drivers/cpufreq/cpufreq.c
blob:72e7bbc937bd8ec48f2b19db031db152ecbf631a -> blob:bbde88eedb91db2c78b5d23a1ea63466dea28611
--- drivers/cpufreq/cpufreq.c
+++ drivers/cpufreq/cpufreq.c
@@ -672,28 +672,21 @@ static ssize_t show_vdd_levels(struct ko
}
extern void acpuclk_set_vdd(unsigned acpu_khz, int vdd);
-extern void acpuclk_set_vmin(int newvmin);
static ssize_t store_vdd_levels(struct kobject *a, struct attribute *b, const char *buf, size_t count)
{
int i = 0, j;
int pair[2] = { 0, 0 };
int sign = 0;
- int vmin = 0;
-
if (count < 1)
return 0;
-
if (buf[0] == '-') {
sign = -1;
i++;
- } else if (buf[0] == '+') {
+ }
+ else if (buf[0] == '+') {
sign = 1;
i++;
- } else if (buf[0] == 'v' && buf[1] == 'm' && buf[2] == 'i' && buf[3] == 'n') {
- vmin = 1;
- i+=4;
}
-
for (j = 0; i < count; i++) {
char c = buf[i];
if ((c >= '0') && (c <= '9')) {
@@ -710,20 +703,16 @@ static ssize_t store_vdd_levels(struct k
else
break;
}
-
if (sign != 0) {
if (pair[0] > 0)
acpuclk_set_vdd(0, sign * pair[0]);
- } else if (vmin == 1) {
- if (pair[0] > 0)
- acpuclk_set_vmin(pair[0]);
- } else {
+ }
+ else {
if ((pair[0] > 0) && (pair[1] > 0))
acpuclk_set_vdd((unsigned)pair[0], pair[1]);
else
return -EINVAL;
}
-
return count;
}
#endif /* CONFIG_VDD_USERSPACE */