Lines Matching +full:min +full:- +full:len

1 // SPDX-License-Identifier: GPL-2.0-only
3 * (C) 2004-2009 Dominik Brodowski <[email protected]>
37 const char *value, size_t len) in sysfs_cpufreq_write_file() argument
47 if (fd == -1) in sysfs_cpufreq_write_file()
50 numwrite = write(fd, value, len); in sysfs_cpufreq_write_file()
92 unsigned int len; in cpufreq_get_sysfs_value_from_table() local
99 len = sysfs_cpufreq_read_file(cpu, table[index], linebuf, in cpufreq_get_sysfs_value_from_table()
102 if (len == 0) in cpufreq_get_sysfs_value_from_table()
146 unsigned int len; in sysfs_cpufreq_get_one_string() local
151 len = sysfs_cpufreq_read_file(cpu, cpufreq_string_files[which], in sysfs_cpufreq_get_one_string()
153 if (len == 0) in sysfs_cpufreq_get_one_string()
160 if (result[strlen(result) - 1] == '\n') in sysfs_cpufreq_get_one_string()
161 result[strlen(result) - 1] = '\0'; in sysfs_cpufreq_get_one_string()
185 const char *new_value, size_t len) in sysfs_cpufreq_write_one_value() argument
191 new_value, len) != len) in sysfs_cpufreq_write_one_value()
192 return -ENODEV; in sysfs_cpufreq_write_one_value()
225 unsigned long *min, in cpufreq_get_hardware_limits() argument
228 if ((!min) || (!max)) in cpufreq_get_hardware_limits()
229 return -EINVAL; in cpufreq_get_hardware_limits()
231 *min = sysfs_cpufreq_get_one_value(cpu, CPUINFO_MIN_FREQ); in cpufreq_get_hardware_limits()
232 if (!*min) in cpufreq_get_hardware_limits()
233 return -ENODEV; in cpufreq_get_hardware_limits()
237 return -ENODEV; in cpufreq_get_hardware_limits()
262 policy->governor = sysfs_cpufreq_get_one_string(cpu, SCALING_GOVERNOR); in cpufreq_get_policy()
263 if (!policy->governor) { in cpufreq_get_policy()
267 policy->min = sysfs_cpufreq_get_one_value(cpu, SCALING_MIN_FREQ); in cpufreq_get_policy()
268 policy->max = sysfs_cpufreq_get_one_value(cpu, SCALING_MAX_FREQ); in cpufreq_get_policy()
269 if ((!policy->min) || (!policy->max)) { in cpufreq_get_policy()
270 free(policy->governor); in cpufreq_get_policy()
280 if ((!policy) || (!policy->governor)) in cpufreq_put_policy()
283 free(policy->governor); in cpufreq_put_policy()
284 policy->governor = NULL; in cpufreq_put_policy()
295 unsigned int len; in cpufreq_get_available_governors() local
297 len = sysfs_cpufreq_read_file(cpu, "scaling_available_governors", in cpufreq_get_available_governors()
299 if (len == 0) in cpufreq_get_available_governors()
303 for (i = 0; i < len; i++) { in cpufreq_get_available_governors()
305 if (i - pos < 2) in cpufreq_get_available_governors()
308 current->next = malloc(sizeof(*current)); in cpufreq_get_available_governors()
309 if (!current->next) in cpufreq_get_available_governors()
311 current = current->next; in cpufreq_get_available_governors()
318 current->first = first; in cpufreq_get_available_governors()
319 current->next = NULL; in cpufreq_get_available_governors()
321 current->governor = malloc(i - pos + 1); in cpufreq_get_available_governors()
322 if (!current->governor) in cpufreq_get_available_governors()
325 memcpy(current->governor, linebuf + pos, i - pos); in cpufreq_get_available_governors()
326 current->governor[i - pos] = '\0'; in cpufreq_get_available_governors()
335 current = first->next; in cpufreq_get_available_governors()
336 if (first->governor) in cpufreq_get_available_governors()
337 free(first->governor); in cpufreq_get_available_governors()
351 tmp = any->first; in cpufreq_put_available_governors()
353 next = tmp->next; in cpufreq_put_available_governors()
354 if (tmp->governor) in cpufreq_put_available_governors()
355 free(tmp->governor); in cpufreq_put_available_governors()
370 unsigned int len; in cpufreq_get_available_frequencies() local
372 len = sysfs_cpufreq_read_file(cpu, "scaling_available_frequencies", in cpufreq_get_available_frequencies()
374 if (len == 0) in cpufreq_get_available_frequencies()
378 for (i = 0; i < len; i++) { in cpufreq_get_available_frequencies()
380 if (i - pos < 2) in cpufreq_get_available_frequencies()
382 if (i - pos >= SYSFS_PATH_MAX) in cpufreq_get_available_frequencies()
385 current->next = malloc(sizeof(*current)); in cpufreq_get_available_frequencies()
386 if (!current->next) in cpufreq_get_available_frequencies()
388 current = current->next; in cpufreq_get_available_frequencies()
395 current->first = first; in cpufreq_get_available_frequencies()
396 current->next = NULL; in cpufreq_get_available_frequencies()
398 memcpy(one_value, linebuf + pos, i - pos); in cpufreq_get_available_frequencies()
399 one_value[i - pos] = '\0'; in cpufreq_get_available_frequencies()
400 if (sscanf(one_value, "%lu", &current->frequency) != 1) in cpufreq_get_available_frequencies()
411 current = first->next; in cpufreq_get_available_frequencies()
426 unsigned int len; in cpufreq_get_boost_frequencies() local
428 len = sysfs_cpufreq_read_file(cpu, "scaling_boost_frequencies", in cpufreq_get_boost_frequencies()
430 if (len == 0) in cpufreq_get_boost_frequencies()
434 for (i = 0; i < len; i++) { in cpufreq_get_boost_frequencies()
436 if (i - pos < 2) in cpufreq_get_boost_frequencies()
438 if (i - pos >= SYSFS_PATH_MAX) in cpufreq_get_boost_frequencies()
441 current->next = malloc(sizeof(*current)); in cpufreq_get_boost_frequencies()
442 if (!current->next) in cpufreq_get_boost_frequencies()
444 current = current->next; in cpufreq_get_boost_frequencies()
451 current->first = first; in cpufreq_get_boost_frequencies()
452 current->next = NULL; in cpufreq_get_boost_frequencies()
454 memcpy(one_value, linebuf + pos, i - pos); in cpufreq_get_boost_frequencies()
455 one_value[i - pos] = '\0'; in cpufreq_get_boost_frequencies()
456 if (sscanf(one_value, "%lu", &current->frequency) != 1) in cpufreq_get_boost_frequencies()
467 current = first->next; in cpufreq_get_boost_frequencies()
481 tmp = any->first; in cpufreq_put_available_frequencies()
483 next = tmp->next; in cpufreq_put_available_frequencies()
502 unsigned int len; in sysfs_get_cpu_list() local
504 len = sysfs_cpufreq_read_file(cpu, file, linebuf, sizeof(linebuf)); in sysfs_get_cpu_list()
505 if (len == 0) in sysfs_get_cpu_list()
509 for (i = 0; i < len; i++) { in sysfs_get_cpu_list()
510 if (i == len || linebuf[i] == ' ' || linebuf[i] == '\n') { in sysfs_get_cpu_list()
511 if (i - pos < 1) in sysfs_get_cpu_list()
513 if (i - pos >= SYSFS_PATH_MAX) in sysfs_get_cpu_list()
516 current->next = malloc(sizeof(*current)); in sysfs_get_cpu_list()
517 if (!current->next) in sysfs_get_cpu_list()
519 current = current->next; in sysfs_get_cpu_list()
526 current->first = first; in sysfs_get_cpu_list()
527 current->next = NULL; in sysfs_get_cpu_list()
529 memcpy(one_value, linebuf + pos, i - pos); in sysfs_get_cpu_list()
530 one_value[i - pos] = '\0'; in sysfs_get_cpu_list()
532 if (sscanf(one_value, "%u", &current->cpu) != 1) in sysfs_get_cpu_list()
543 current = first->next; in sysfs_get_cpu_list()
562 tmp = any->first; in cpufreq_put_affected_cpus()
564 next = tmp->next; in cpufreq_put_affected_cpus()
586 return -EINVAL; in verify_gov()
600 if (new_gov[i] == '-') in verify_gov()
610 return -EINVAL; in verify_gov()
618 char min[SYSFS_PATH_MAX]; in cpufreq_set_policy() local
625 if (!policy || !(policy->governor)) in cpufreq_set_policy()
626 return -EINVAL; in cpufreq_set_policy()
628 if (policy->max < policy->min) in cpufreq_set_policy()
629 return -EINVAL; in cpufreq_set_policy()
631 if (verify_gov(gov, policy->governor)) in cpufreq_set_policy()
632 return -EINVAL; in cpufreq_set_policy()
634 snprintf(min, SYSFS_PATH_MAX, "%lu", policy->min); in cpufreq_set_policy()
635 snprintf(max, SYSFS_PATH_MAX, "%lu", policy->max); in cpufreq_set_policy()
638 write_max_first = (old_min && (policy->max < old_min) ? 0 : 1); in cpufreq_set_policy()
647 ret = sysfs_cpufreq_write_one_value(cpu, WRITE_SCALING_MIN_FREQ, min, in cpufreq_set_policy()
648 strlen(min)); in cpufreq_set_policy()
690 return -EINVAL; in cpufreq_modify_policy_governor()
693 return -EINVAL; in cpufreq_modify_policy_governor()
707 return -ENODEV; in cpufreq_set_frequency()
709 if (strncmp(pol->governor, userspace_gov, 9) != 0) { in cpufreq_set_frequency()
733 unsigned int len; in cpufreq_get_stats() local
735 len = sysfs_cpufreq_read_file(cpu, "stats/time_in_state", in cpufreq_get_stats()
737 if (len == 0) in cpufreq_get_stats()
742 for (i = 0; i < len; i++) { in cpufreq_get_stats()
744 if (i - pos < 2) in cpufreq_get_stats()
746 if ((i - pos) >= SYSFS_PATH_MAX) in cpufreq_get_stats()
749 current->next = malloc(sizeof(*current)); in cpufreq_get_stats()
750 if (!current->next) in cpufreq_get_stats()
752 current = current->next; in cpufreq_get_stats()
759 current->first = first; in cpufreq_get_stats()
760 current->next = NULL; in cpufreq_get_stats()
762 memcpy(one_value, linebuf + pos, i - pos); in cpufreq_get_stats()
763 one_value[i - pos] = '\0'; in cpufreq_get_stats()
765 &current->frequency, in cpufreq_get_stats()
766 &current->time_in_state) != 2) in cpufreq_get_stats()
769 *total_time = *total_time + current->time_in_state; in cpufreq_get_stats()
778 current = first->next; in cpufreq_get_stats()
792 tmp = any->first; in cpufreq_put_stats()
794 next = tmp->next; in cpufreq_put_stats()