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

1 // SPDX-License-Identifier: GPL-2.0-only
3 * (C) 2004-2009 Dominik Brodowski <linux@dominikbrodowski.de>
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()
140 unsigned int len; in sysfs_cpufreq_get_one_string() local
145 len = sysfs_cpufreq_read_file(cpu, cpufreq_string_files[which], in sysfs_cpufreq_get_one_string()
147 if (len == 0) in sysfs_cpufreq_get_one_string()
154 if (result[strlen(result) - 1] == '\n') in sysfs_cpufreq_get_one_string()
155 result[strlen(result) - 1] = '\0'; in sysfs_cpufreq_get_one_string()
179 const char *new_value, size_t len) in sysfs_cpufreq_write_one_value() argument
185 new_value, len) != len) in sysfs_cpufreq_write_one_value()
186 return -ENODEV; in sysfs_cpufreq_write_one_value()
207 unsigned long *min, in cpufreq_get_hardware_limits() argument
210 if ((!min) || (!max)) in cpufreq_get_hardware_limits()
211 return -EINVAL; in cpufreq_get_hardware_limits()
213 *min = sysfs_cpufreq_get_one_value(cpu, CPUINFO_MIN_FREQ); in cpufreq_get_hardware_limits()
214 if (!*min) in cpufreq_get_hardware_limits()
215 return -ENODEV; in cpufreq_get_hardware_limits()
219 return -ENODEV; in cpufreq_get_hardware_limits()
244 policy->governor = sysfs_cpufreq_get_one_string(cpu, SCALING_GOVERNOR); in cpufreq_get_policy()
245 if (!policy->governor) { in cpufreq_get_policy()
249 policy->min = sysfs_cpufreq_get_one_value(cpu, SCALING_MIN_FREQ); in cpufreq_get_policy()
250 policy->max = sysfs_cpufreq_get_one_value(cpu, SCALING_MAX_FREQ); in cpufreq_get_policy()
251 if ((!policy->min) || (!policy->max)) { in cpufreq_get_policy()
252 free(policy->governor); in cpufreq_get_policy()
262 if ((!policy) || (!policy->governor)) in cpufreq_put_policy()
265 free(policy->governor); in cpufreq_put_policy()
266 policy->governor = NULL; in cpufreq_put_policy()
277 unsigned int len; in cpufreq_get_available_governors() local
279 len = sysfs_cpufreq_read_file(cpu, "scaling_available_governors", in cpufreq_get_available_governors()
281 if (len == 0) in cpufreq_get_available_governors()
285 for (i = 0; i < len; i++) { in cpufreq_get_available_governors()
287 if (i - pos < 2) in cpufreq_get_available_governors()
290 current->next = malloc(sizeof(*current)); in cpufreq_get_available_governors()
291 if (!current->next) in cpufreq_get_available_governors()
293 current = current->next; in cpufreq_get_available_governors()
300 current->first = first; in cpufreq_get_available_governors()
301 current->next = NULL; in cpufreq_get_available_governors()
303 current->governor = malloc(i - pos + 1); in cpufreq_get_available_governors()
304 if (!current->governor) in cpufreq_get_available_governors()
307 memcpy(current->governor, linebuf + pos, i - pos); in cpufreq_get_available_governors()
308 current->governor[i - pos] = '\0'; in cpufreq_get_available_governors()
317 current = first->next; in cpufreq_get_available_governors()
318 if (first->governor) in cpufreq_get_available_governors()
319 free(first->governor); in cpufreq_get_available_governors()
333 tmp = any->first; in cpufreq_put_available_governors()
335 next = tmp->next; in cpufreq_put_available_governors()
336 if (tmp->governor) in cpufreq_put_available_governors()
337 free(tmp->governor); in cpufreq_put_available_governors()
352 unsigned int len; in cpufreq_get_available_frequencies() local
354 len = sysfs_cpufreq_read_file(cpu, "scaling_available_frequencies", in cpufreq_get_available_frequencies()
356 if (len == 0) in cpufreq_get_available_frequencies()
360 for (i = 0; i < len; i++) { in cpufreq_get_available_frequencies()
362 if (i - pos < 2) in cpufreq_get_available_frequencies()
364 if (i - pos >= SYSFS_PATH_MAX) in cpufreq_get_available_frequencies()
367 current->next = malloc(sizeof(*current)); in cpufreq_get_available_frequencies()
368 if (!current->next) in cpufreq_get_available_frequencies()
370 current = current->next; in cpufreq_get_available_frequencies()
377 current->first = first; in cpufreq_get_available_frequencies()
378 current->next = NULL; in cpufreq_get_available_frequencies()
380 memcpy(one_value, linebuf + pos, i - pos); in cpufreq_get_available_frequencies()
381 one_value[i - pos] = '\0'; in cpufreq_get_available_frequencies()
382 if (sscanf(one_value, "%lu", &current->frequency) != 1) in cpufreq_get_available_frequencies()
393 current = first->next; in cpufreq_get_available_frequencies()
408 unsigned int len; in cpufreq_get_boost_frequencies() local
410 len = sysfs_cpufreq_read_file(cpu, "scaling_boost_frequencies", in cpufreq_get_boost_frequencies()
412 if (len == 0) in cpufreq_get_boost_frequencies()
416 for (i = 0; i < len; i++) { in cpufreq_get_boost_frequencies()
418 if (i - pos < 2) in cpufreq_get_boost_frequencies()
420 if (i - pos >= SYSFS_PATH_MAX) in cpufreq_get_boost_frequencies()
423 current->next = malloc(sizeof(*current)); in cpufreq_get_boost_frequencies()
424 if (!current->next) in cpufreq_get_boost_frequencies()
426 current = current->next; in cpufreq_get_boost_frequencies()
433 current->first = first; in cpufreq_get_boost_frequencies()
434 current->next = NULL; in cpufreq_get_boost_frequencies()
436 memcpy(one_value, linebuf + pos, i - pos); in cpufreq_get_boost_frequencies()
437 one_value[i - pos] = '\0'; in cpufreq_get_boost_frequencies()
438 if (sscanf(one_value, "%lu", &current->frequency) != 1) in cpufreq_get_boost_frequencies()
449 current = first->next; in cpufreq_get_boost_frequencies()
463 tmp = any->first; in cpufreq_put_available_frequencies()
465 next = tmp->next; in cpufreq_put_available_frequencies()
484 unsigned int len; in sysfs_get_cpu_list() local
486 len = sysfs_cpufreq_read_file(cpu, file, linebuf, sizeof(linebuf)); in sysfs_get_cpu_list()
487 if (len == 0) in sysfs_get_cpu_list()
491 for (i = 0; i < len; i++) { in sysfs_get_cpu_list()
492 if (i == len || linebuf[i] == ' ' || linebuf[i] == '\n') { in sysfs_get_cpu_list()
493 if (i - pos < 1) in sysfs_get_cpu_list()
495 if (i - pos >= SYSFS_PATH_MAX) in sysfs_get_cpu_list()
498 current->next = malloc(sizeof(*current)); in sysfs_get_cpu_list()
499 if (!current->next) in sysfs_get_cpu_list()
501 current = current->next; in sysfs_get_cpu_list()
508 current->first = first; in sysfs_get_cpu_list()
509 current->next = NULL; in sysfs_get_cpu_list()
511 memcpy(one_value, linebuf + pos, i - pos); in sysfs_get_cpu_list()
512 one_value[i - pos] = '\0'; in sysfs_get_cpu_list()
514 if (sscanf(one_value, "%u", &current->cpu) != 1) in sysfs_get_cpu_list()
525 current = first->next; in sysfs_get_cpu_list()
544 tmp = any->first; in cpufreq_put_affected_cpus()
546 next = tmp->next; in cpufreq_put_affected_cpus()
568 return -EINVAL; in verify_gov()
582 if (new_gov[i] == '-') in verify_gov()
592 return -EINVAL; in verify_gov()
600 char min[SYSFS_PATH_MAX]; in cpufreq_set_policy() local
607 if (!policy || !(policy->governor)) in cpufreq_set_policy()
608 return -EINVAL; in cpufreq_set_policy()
610 if (policy->max < policy->min) in cpufreq_set_policy()
611 return -EINVAL; in cpufreq_set_policy()
613 if (verify_gov(gov, policy->governor)) in cpufreq_set_policy()
614 return -EINVAL; in cpufreq_set_policy()
616 snprintf(min, SYSFS_PATH_MAX, "%lu", policy->min); in cpufreq_set_policy()
617 snprintf(max, SYSFS_PATH_MAX, "%lu", policy->max); in cpufreq_set_policy()
620 write_max_first = (old_min && (policy->max < old_min) ? 0 : 1); in cpufreq_set_policy()
629 ret = sysfs_cpufreq_write_one_value(cpu, WRITE_SCALING_MIN_FREQ, min, in cpufreq_set_policy()
630 strlen(min)); in cpufreq_set_policy()
672 return -EINVAL; in cpufreq_modify_policy_governor()
675 return -EINVAL; in cpufreq_modify_policy_governor()
689 return -ENODEV; in cpufreq_set_frequency()
691 if (strncmp(pol->governor, userspace_gov, 9) != 0) { in cpufreq_set_frequency()
715 unsigned int len; in cpufreq_get_stats() local
717 len = sysfs_cpufreq_read_file(cpu, "stats/time_in_state", in cpufreq_get_stats()
719 if (len == 0) in cpufreq_get_stats()
724 for (i = 0; i < len; i++) { in cpufreq_get_stats()
726 if (i - pos < 2) in cpufreq_get_stats()
728 if ((i - pos) >= SYSFS_PATH_MAX) in cpufreq_get_stats()
731 current->next = malloc(sizeof(*current)); in cpufreq_get_stats()
732 if (!current->next) in cpufreq_get_stats()
734 current = current->next; in cpufreq_get_stats()
741 current->first = first; in cpufreq_get_stats()
742 current->next = NULL; in cpufreq_get_stats()
744 memcpy(one_value, linebuf + pos, i - pos); in cpufreq_get_stats()
745 one_value[i - pos] = '\0'; in cpufreq_get_stats()
747 &current->frequency, in cpufreq_get_stats()
748 &current->time_in_state) != 2) in cpufreq_get_stats()
751 *total_time = *total_time + current->time_in_state; in cpufreq_get_stats()
760 current = first->next; in cpufreq_get_stats()
774 tmp = any->first; in cpufreq_put_stats()
776 next = tmp->next; in cpufreq_put_stats()