Lines Matching +full:zero +full:- +full:based

1 // SPDX-License-Identifier: GPL-2.0
21 * struct cpuidle_cooling_device - data for the idle cooling device
31 * cpuidle_cooling_runtime - Running time computation
33 * @state: a percentile based number
37 * means the running duration is zero. If we have a 50% ratio
43 * running = idle x ((100 / ratio) - 1)
47 * running = (idle x 100) / ratio - idle
52 * Return: An unsigned int for a usec based runtime duration.
60 return ((idle_duration_us * 100) / state) - idle_duration_us; in cpuidle_cooling_runtime()
64 * cpuidle_cooling_get_max_state - Get the maximum state
69 * percentile based for consistency across different platforms.
71 * Return: The function can not fail, it is always zero
93 * cpuidle_cooling_get_cur_state - Get the current cooling state
98 * cooling device structure, the mapping is 1 <-> 1.
100 * Return: The function can not fail, it is always zero
105 struct cpuidle_cooling_device *idle_cdev = cdev->devdata; in cpuidle_cooling_get_cur_state()
107 *state = idle_cdev->state; in cpuidle_cooling_get_cur_state()
113 * cpuidle_cooling_set_cur_state - Set the current cooling state
122 * Return: The function can not fail, it is always zero
127 struct cpuidle_cooling_device *idle_cdev = cdev->devdata; in cpuidle_cooling_set_cur_state()
128 struct idle_inject_device *ii_dev = idle_cdev->ii_dev; in cpuidle_cooling_set_cur_state()
129 unsigned long current_state = idle_cdev->state; in cpuidle_cooling_set_cur_state()
132 idle_cdev->state = state; in cpuidle_cooling_set_cur_state()
150 * cpuidle_cooling_ops - thermal cooling device ops
167 * Return: zero on success, a negative value returned by one of the
184 ret = -ENOMEM; in __cpuidle_cooling_register()
188 ii_dev = idle_inject_register(drv->cpumask); in __cpuidle_cooling_register()
190 ret = -EINVAL; in __cpuidle_cooling_register()
194 of_property_read_u32(np, "duration-us", &idle_duration_us); in __cpuidle_cooling_register()
195 of_property_read_u32(np, "exit-latency-us", &latency_us); in __cpuidle_cooling_register()
200 idle_cdev->ii_dev = ii_dev; in __cpuidle_cooling_register()
202 dev = get_cpu_device(cpumask_first(drv->cpumask)); in __cpuidle_cooling_register()
204 name = kasprintf(GFP_KERNEL, "idle-%s", dev_name(dev)); in __cpuidle_cooling_register()
206 ret = -ENOMEM; in __cpuidle_cooling_register()
235 * cpuidle_cooling_register - Idle cooling device initialization function
247 for_each_cpu(cpu, drv->cpumask) { in cpuidle_cooling_register()
251 cooling_node = of_get_child_by_name(cpu_node, "thermal-idle"); in cpuidle_cooling_register()
256 pr_debug("'thermal-idle' node not found for cpu%d\n", cpu); in cpuidle_cooling_register()