• Home
  • Raw
  • Download

Lines Matching refs:ccdev

89 static int clock_cooling_get_property(struct clock_cooling_device *ccdev,  in clock_cooling_get_property()  argument
98 struct cpufreq_frequency_table *pos, *table = ccdev->freq_table; in clock_cooling_get_property()
174 struct clock_cooling_device *ccdev = cdev->devdata; in clock_cooling_get_level() local
177 if (clock_cooling_get_property(ccdev, (unsigned long)freq, &val, in clock_cooling_get_level()
198 clock_cooling_get_frequency(struct clock_cooling_device *ccdev, in clock_cooling_get_frequency() argument
204 ret = clock_cooling_get_property(ccdev, level, &freq, GET_FREQ); in clock_cooling_get_frequency()
223 static int clock_cooling_apply(struct clock_cooling_device *ccdev, in clock_cooling_apply() argument
231 if (ccdev->clock_state == cooling_state) in clock_cooling_apply()
234 clip_freq = clock_cooling_get_frequency(ccdev, cooling_state); in clock_cooling_apply()
238 cur_freq = clk_get_rate(ccdev->clk); in clock_cooling_apply()
240 mutex_lock(&ccdev->lock); in clock_cooling_apply()
241 ccdev->clock_state = cooling_state; in clock_cooling_apply()
242 ccdev->clock_val = clip_freq; in clock_cooling_apply()
245 ret = clk_set_rate(ccdev->clk, clip_freq); in clock_cooling_apply()
246 mutex_unlock(&ccdev->lock); in clock_cooling_apply()
267 struct clock_cooling_device *ccdev = to_clock_cooling_device(nb); in clock_cooling_clock_notifier() local
277 if (ndata->new_rate > ccdev->clock_val) in clock_cooling_clock_notifier()
302 struct clock_cooling_device *ccdev = cdev->devdata; in clock_cooling_get_max_state() local
306 ret = clock_cooling_get_property(ccdev, 0, &count, GET_MAXL); in clock_cooling_get_max_state()
326 struct clock_cooling_device *ccdev = cdev->devdata; in clock_cooling_get_cur_state() local
328 *state = ccdev->clock_state; in clock_cooling_get_cur_state()
378 struct clock_cooling_device *ccdev = NULL; in clock_cooling_register() local
382 ccdev = devm_kzalloc(dev, sizeof(*ccdev), GFP_KERNEL); in clock_cooling_register()
383 if (!ccdev) in clock_cooling_register()
386 mutex_init(&ccdev->lock); in clock_cooling_register()
387 ccdev->dev = dev; in clock_cooling_register()
388 ccdev->clk = devm_clk_get(dev, clock_name); in clock_cooling_register()
389 if (IS_ERR(ccdev->clk)) in clock_cooling_register()
390 return ERR_CAST(ccdev->clk); in clock_cooling_register()
395 ccdev->id = ret; in clock_cooling_register()
397 snprintf(dev_name, sizeof(dev_name), "thermal-clock-%d", ccdev->id); in clock_cooling_register()
399 cdev = thermal_cooling_device_register(dev_name, ccdev, in clock_cooling_register()
402 ida_simple_remove(&clock_ida, ccdev->id); in clock_cooling_register()
405 ccdev->cdev = cdev; in clock_cooling_register()
406 ccdev->clk_rate_change_nb.notifier_call = clock_cooling_clock_notifier; in clock_cooling_register()
409 ret = dev_pm_opp_init_cpufreq_table(dev, &ccdev->freq_table); in clock_cooling_register()
411 ida_simple_remove(&clock_ida, ccdev->id); in clock_cooling_register()
414 ccdev->clock_state = 0; in clock_cooling_register()
415 ccdev->clock_val = clock_cooling_get_frequency(ccdev, 0); in clock_cooling_register()
417 clk_notifier_register(ccdev->clk, &ccdev->clk_rate_change_nb); in clock_cooling_register()
431 struct clock_cooling_device *ccdev; in clock_cooling_unregister() local
436 ccdev = cdev->devdata; in clock_cooling_unregister()
438 clk_notifier_unregister(ccdev->clk, &ccdev->clk_rate_change_nb); in clock_cooling_unregister()
439 dev_pm_opp_free_cpufreq_table(ccdev->dev, &ccdev->freq_table); in clock_cooling_unregister()
441 thermal_cooling_device_unregister(ccdev->cdev); in clock_cooling_unregister()
442 ida_simple_remove(&clock_ida, ccdev->id); in clock_cooling_unregister()