Symbol: devfreq
drivers/devfreq/devfreq.c
100
static unsigned long find_available_max_freq(struct devfreq *devfreq)
drivers/devfreq/devfreq.c
1001
remove_sysfs_files(devfreq, devfreq->governor);
drivers/devfreq/devfreq.c
1004
device_unregister(&devfreq->dev);
drivers/devfreq/devfreq.c
1012
struct devfreq **r = res;
drivers/devfreq/devfreq.c
1022
devfreq_remove_device(*(struct devfreq **)res);
drivers/devfreq/devfreq.c
1036
struct devfreq *devm_devfreq_add_device(struct device *dev,
drivers/devfreq/devfreq.c
1041
struct devfreq **ptr, *devfreq;
drivers/devfreq/devfreq.c
1047
devfreq = devfreq_add_device(dev, profile, governor_name, data);
drivers/devfreq/devfreq.c
1048
if (IS_ERR(devfreq)) {
drivers/devfreq/devfreq.c
105
opp = dev_pm_opp_find_freq_floor_indexed(devfreq->dev.parent, &max_freq, 0);
drivers/devfreq/devfreq.c
1050
return devfreq;
drivers/devfreq/devfreq.c
1053
*ptr = devfreq;
drivers/devfreq/devfreq.c
1056
return devfreq;
drivers/devfreq/devfreq.c
1067
struct devfreq *devfreq_get_devfreq_by_node(struct device_node *node)
drivers/devfreq/devfreq.c
1069
struct devfreq *devfreq;
drivers/devfreq/devfreq.c
1075
list_for_each_entry(devfreq, &devfreq_list, node) {
drivers/devfreq/devfreq.c
1076
if (devfreq->dev.parent
drivers/devfreq/devfreq.c
1077
&& device_match_of_node(devfreq->dev.parent, node)) {
drivers/devfreq/devfreq.c
1079
return devfreq;
drivers/devfreq/devfreq.c
1095
struct devfreq *devfreq_get_devfreq_by_phandle(struct device *dev,
drivers/devfreq/devfreq.c
1099
struct devfreq *devfreq;
drivers/devfreq/devfreq.c
1111
devfreq = devfreq_get_devfreq_by_node(node);
drivers/devfreq/devfreq.c
1114
return devfreq;
drivers/devfreq/devfreq.c
1118
struct devfreq *devfreq_get_devfreq_by_node(struct device_node *node)
drivers/devfreq/devfreq.c
1123
struct devfreq *devfreq_get_devfreq_by_phandle(struct device *dev,
drivers/devfreq/devfreq.c
1137
void devm_devfreq_remove_device(struct device *dev, struct devfreq *devfreq)
drivers/devfreq/devfreq.c
1140
devm_devfreq_dev_match, devfreq));
drivers/devfreq/devfreq.c
1152
int devfreq_suspend_device(struct devfreq *devfreq)
drivers/devfreq/devfreq.c
1156
if (!devfreq)
drivers/devfreq/devfreq.c
1159
if (atomic_inc_return(&devfreq->suspend_count) > 1)
drivers/devfreq/devfreq.c
1162
if (devfreq->governor) {
drivers/devfreq/devfreq.c
1163
ret = devfreq->governor->event_handler(devfreq,
drivers/devfreq/devfreq.c
1169
if (devfreq->suspend_freq) {
drivers/devfreq/devfreq.c
1170
mutex_lock(&devfreq->lock);
drivers/devfreq/devfreq.c
1171
ret = devfreq_set_target(devfreq, devfreq->suspend_freq, 0);
drivers/devfreq/devfreq.c
1172
mutex_unlock(&devfreq->lock);
drivers/devfreq/devfreq.c
1189
int devfreq_resume_device(struct devfreq *devfreq)
drivers/devfreq/devfreq.c
1193
if (!devfreq)
drivers/devfreq/devfreq.c
1196
if (atomic_dec_return(&devfreq->suspend_count) >= 1)
drivers/devfreq/devfreq.c
1199
if (devfreq->resume_freq) {
drivers/devfreq/devfreq.c
1200
mutex_lock(&devfreq->lock);
drivers/devfreq/devfreq.c
1201
ret = devfreq_set_target(devfreq, devfreq->resume_freq, 0);
drivers/devfreq/devfreq.c
1202
mutex_unlock(&devfreq->lock);
drivers/devfreq/devfreq.c
1207
if (devfreq->governor) {
drivers/devfreq/devfreq.c
1208
ret = devfreq->governor->event_handler(devfreq,
drivers/devfreq/devfreq.c
122
void devfreq_get_freq_range(struct devfreq *devfreq,
drivers/devfreq/devfreq.c
1228
struct devfreq *devfreq;
drivers/devfreq/devfreq.c
1232
list_for_each_entry(devfreq, &devfreq_list, node) {
drivers/devfreq/devfreq.c
1233
ret = devfreq_suspend_device(devfreq);
drivers/devfreq/devfreq.c
1235
dev_err(&devfreq->dev,
drivers/devfreq/devfreq.c
1249
struct devfreq *devfreq;
drivers/devfreq/devfreq.c
1253
list_for_each_entry(devfreq, &devfreq_list, node) {
drivers/devfreq/devfreq.c
1254
ret = devfreq_resume_device(devfreq);
drivers/devfreq/devfreq.c
1256
dev_warn(&devfreq->dev,
drivers/devfreq/devfreq.c
126
unsigned long *freq_table = devfreq->freq_table;
drivers/devfreq/devfreq.c
1269
struct devfreq *devfreq;
drivers/devfreq/devfreq.c
1288
list_for_each_entry(devfreq, &devfreq_list, node) {
drivers/devfreq/devfreq.c
129
lockdep_assert_held(&devfreq->lock);
drivers/devfreq/devfreq.c
1290
struct device *dev = devfreq->dev.parent;
drivers/devfreq/devfreq.c
1292
if (!strncmp(devfreq->governor->name, governor->name,
drivers/devfreq/devfreq.c
1295
if (devfreq->governor) {
drivers/devfreq/devfreq.c
1298
__func__, devfreq->governor->name);
drivers/devfreq/devfreq.c
1299
ret = devfreq->governor->event_handler(devfreq,
drivers/devfreq/devfreq.c
1305
devfreq->governor->name, ret);
drivers/devfreq/devfreq.c
1309
devfreq->governor = governor;
drivers/devfreq/devfreq.c
1310
ret = devfreq->governor->event_handler(devfreq,
drivers/devfreq/devfreq.c
1314
__func__, devfreq->governor->name,
drivers/devfreq/devfreq.c
136
if (freq_table[0] < freq_table[devfreq->max_state - 1]) {
drivers/devfreq/devfreq.c
1360
struct devfreq *devfreq;
drivers/devfreq/devfreq.c
1376
list_for_each_entry(devfreq, &devfreq_list, node) {
drivers/devfreq/devfreq.c
1378
struct device *dev = devfreq->dev.parent;
drivers/devfreq/devfreq.c
138
*max_freq = freq_table[devfreq->max_state - 1];
drivers/devfreq/devfreq.c
1380
if (!devfreq->governor)
drivers/devfreq/devfreq.c
1383
if (!strncmp(devfreq->governor->name, governor->name,
drivers/devfreq/devfreq.c
1385
ret = devfreq->governor->event_handler(devfreq,
drivers/devfreq/devfreq.c
1389
__func__, devfreq->governor->name,
drivers/devfreq/devfreq.c
1392
devfreq->governor = NULL;
drivers/devfreq/devfreq.c
140
*min_freq = freq_table[devfreq->max_state - 1];
drivers/devfreq/devfreq.c
1407
struct devfreq *df = to_devfreq(dev);
drivers/devfreq/devfreq.c
1415
struct devfreq *df = to_devfreq(dev);
drivers/devfreq/devfreq.c
1426
struct devfreq *df = to_devfreq(dev);
drivers/devfreq/devfreq.c
145
qos_min_freq = dev_pm_qos_read_value(devfreq->dev.parent,
drivers/devfreq/devfreq.c
147
qos_max_freq = dev_pm_qos_read_value(devfreq->dev.parent,
drivers/devfreq/devfreq.c
1507
struct devfreq *df = to_devfreq(d);
drivers/devfreq/devfreq.c
155
*max_freq = clamp(*max_freq, devfreq->scaling_min_freq, devfreq->scaling_max_freq);
drivers/devfreq/devfreq.c
1553
struct devfreq *df = to_devfreq(dev);
drivers/devfreq/devfreq.c
156
*min_freq = clamp(*min_freq, devfreq->scaling_min_freq, *max_freq);
drivers/devfreq/devfreq.c
1569
struct devfreq *df = to_devfreq(dev);
drivers/devfreq/devfreq.c
1578
struct devfreq *df = to_devfreq(dev);
drivers/devfreq/devfreq.c
1605
struct devfreq *df = to_devfreq(dev);
drivers/devfreq/devfreq.c
1619
struct devfreq *df = to_devfreq(dev);
drivers/devfreq/devfreq.c
165
static int devfreq_get_freq_level(struct devfreq *devfreq, unsigned long freq)
drivers/devfreq/devfreq.c
1659
struct devfreq *df = to_devfreq(dev);
drivers/devfreq/devfreq.c
1674
struct devfreq *df = to_devfreq(d);
drivers/devfreq/devfreq.c
169
for (lev = 0; lev < devfreq->max_state; lev++)
drivers/devfreq/devfreq.c
170
if (freq == devfreq->freq_table[lev])
drivers/devfreq/devfreq.c
1701
struct devfreq *df = to_devfreq(dev);
drivers/devfreq/devfreq.c
176
static int set_freq_table(struct devfreq *devfreq)
drivers/devfreq/devfreq.c
1771
struct devfreq *df = to_devfreq(dev);
drivers/devfreq/devfreq.c
1810
ATTRIBUTE_GROUPS(devfreq);
drivers/devfreq/devfreq.c
1815
struct devfreq *df = to_devfreq(dev);
drivers/devfreq/devfreq.c
1827
struct devfreq *df = to_devfreq(dev);
drivers/devfreq/devfreq.c
183
count = dev_pm_opp_get_opp_count(devfreq->dev.parent);
drivers/devfreq/devfreq.c
1848
struct devfreq *df = to_devfreq(dev);
drivers/devfreq/devfreq.c
1859
struct devfreq *df = to_devfreq(dev);
drivers/devfreq/devfreq.c
187
devfreq->max_state = count;
drivers/devfreq/devfreq.c
188
devfreq->freq_table = devm_kcalloc(devfreq->dev.parent,
drivers/devfreq/devfreq.c
189
devfreq->max_state,
drivers/devfreq/devfreq.c
190
sizeof(*devfreq->freq_table),
drivers/devfreq/devfreq.c
1919
static void create_sysfs_files(struct devfreq *devfreq,
drivers/devfreq/devfreq.c
192
if (!devfreq->freq_table)
drivers/devfreq/devfreq.c
1923
CREATE_SYSFS_FILE(devfreq, polling_interval);
drivers/devfreq/devfreq.c
1925
CREATE_SYSFS_FILE(devfreq, timer);
drivers/devfreq/devfreq.c
1929
static void remove_sysfs_files(struct devfreq *devfreq,
drivers/devfreq/devfreq.c
1933
sysfs_remove_file(&devfreq->dev.kobj,
drivers/devfreq/devfreq.c
1936
sysfs_remove_file(&devfreq->dev.kobj, &dev_attr_timer.attr);
drivers/devfreq/devfreq.c
195
for (i = 0, freq = 0; i < devfreq->max_state; i++, freq++) {
drivers/devfreq/devfreq.c
1951
struct devfreq *devfreq;
drivers/devfreq/devfreq.c
1952
struct devfreq *p_devfreq = NULL;
drivers/devfreq/devfreq.c
196
opp = dev_pm_opp_find_freq_ceil_indexed(devfreq->dev.parent, &freq, 0);
drivers/devfreq/devfreq.c
1978
list_for_each_entry_reverse(devfreq, &devfreq_list, node) {
drivers/devfreq/devfreq.c
198
devm_kfree(devfreq->dev.parent, devfreq->freq_table);
drivers/devfreq/devfreq.c
1980
if (!strncmp(devfreq->governor->name, DEVFREQ_GOV_PASSIVE,
drivers/devfreq/devfreq.c
1982
struct devfreq_passive_data *data = devfreq->data;
drivers/devfreq/devfreq.c
1991
mutex_lock(&devfreq->lock);
drivers/devfreq/devfreq.c
1992
cur_freq = devfreq->previous_freq;
drivers/devfreq/devfreq.c
1993
devfreq_get_freq_range(devfreq, &min_freq, &max_freq);
drivers/devfreq/devfreq.c
1994
timer = devfreq->profile->timer;
drivers/devfreq/devfreq.c
1996
if (IS_SUPPORTED_ATTR(devfreq->governor->attrs, POLLING_INTERVAL))
drivers/devfreq/devfreq.c
1997
polling_ms = devfreq->profile->polling_ms;
drivers/devfreq/devfreq.c
2000
mutex_unlock(&devfreq->lock);
drivers/devfreq/devfreq.c
2004
dev_name(&devfreq->dev),
drivers/devfreq/devfreq.c
2006
devfreq->governor->name,
drivers/devfreq/devfreq.c
202
devfreq->freq_table[i] = freq;
drivers/devfreq/devfreq.c
2093
int devfreq_register_opp_notifier(struct device *dev, struct devfreq *devfreq)
drivers/devfreq/devfreq.c
2095
return dev_pm_opp_register_notifier(dev, &devfreq->nb);
drivers/devfreq/devfreq.c
2109
int devfreq_unregister_opp_notifier(struct device *dev, struct devfreq *devfreq)
drivers/devfreq/devfreq.c
2111
return dev_pm_opp_unregister_notifier(dev, &devfreq->nb);
drivers/devfreq/devfreq.c
2117
devfreq_unregister_opp_notifier(dev, *(struct devfreq **)res);
drivers/devfreq/devfreq.c
2127
struct devfreq *devfreq)
drivers/devfreq/devfreq.c
2129
struct devfreq **ptr;
drivers/devfreq/devfreq.c
213
int devfreq_update_status(struct devfreq *devfreq, unsigned long freq)
drivers/devfreq/devfreq.c
2136
ret = devfreq_register_opp_notifier(dev, devfreq);
drivers/devfreq/devfreq.c
2142
*ptr = devfreq;
drivers/devfreq/devfreq.c
2156
struct devfreq *devfreq)
drivers/devfreq/devfreq.c
2159
devm_devfreq_dev_match, devfreq));
drivers/devfreq/devfreq.c
2169
int devfreq_register_notifier(struct devfreq *devfreq,
drivers/devfreq/devfreq.c
2175
if (!devfreq)
drivers/devfreq/devfreq.c
218
lockdep_assert_held(&devfreq->lock);
drivers/devfreq/devfreq.c
2181
&devfreq->transition_notifier_list, nb);
drivers/devfreq/devfreq.c
2197
int devfreq_unregister_notifier(struct devfreq *devfreq,
drivers/devfreq/devfreq.c
2203
if (!devfreq)
drivers/devfreq/devfreq.c
2209
&devfreq->transition_notifier_list, nb);
drivers/devfreq/devfreq.c
222
if (!devfreq->previous_freq)
drivers/devfreq/devfreq.c
2220
struct devfreq *devfreq;
drivers/devfreq/devfreq.c
2229
devfreq_unregister_notifier(this->devfreq, this->nb, this->list);
drivers/devfreq/devfreq.c
2241
struct devfreq *devfreq,
drivers/devfreq/devfreq.c
225
prev_lev = devfreq_get_freq_level(devfreq, devfreq->previous_freq);
drivers/devfreq/devfreq.c
2253
ret = devfreq_register_notifier(devfreq, nb, list);
drivers/devfreq/devfreq.c
2259
ptr->devfreq = devfreq;
drivers/devfreq/devfreq.c
2277
struct devfreq *devfreq,
drivers/devfreq/devfreq.c
2282
devm_devfreq_dev_match, devfreq));
drivers/devfreq/devfreq.c
231
devfreq->stats.time_in_state[prev_lev] +=
drivers/devfreq/devfreq.c
232
cur_time - devfreq->stats.last_update;
drivers/devfreq/devfreq.c
234
lev = devfreq_get_freq_level(devfreq, freq);
drivers/devfreq/devfreq.c
241
devfreq->stats.trans_table[
drivers/devfreq/devfreq.c
242
(prev_lev * devfreq->max_state) + lev]++;
drivers/devfreq/devfreq.c
243
devfreq->stats.total_trans++;
drivers/devfreq/devfreq.c
247
devfreq->stats.last_update = cur_time;
drivers/devfreq/devfreq.c
321
static int devfreq_notify_transition(struct devfreq *devfreq,
drivers/devfreq/devfreq.c
324
if (!devfreq)
drivers/devfreq/devfreq.c
329
srcu_notifier_call_chain(&devfreq->transition_notifier_list,
drivers/devfreq/devfreq.c
334
srcu_notifier_call_chain(&devfreq->transition_notifier_list,
drivers/devfreq/devfreq.c
344
static int devfreq_set_target(struct devfreq *devfreq, unsigned long new_freq,
drivers/devfreq/devfreq.c
351
if (devfreq->profile->get_cur_freq)
drivers/devfreq/devfreq.c
352
devfreq->profile->get_cur_freq(devfreq->dev.parent, &cur_freq);
drivers/devfreq/devfreq.c
354
cur_freq = devfreq->previous_freq;
drivers/devfreq/devfreq.c
358
devfreq_notify_transition(devfreq, &freqs, DEVFREQ_PRECHANGE);
drivers/devfreq/devfreq.c
360
err = devfreq->profile->target(devfreq->dev.parent, &new_freq, flags);
drivers/devfreq/devfreq.c
363
devfreq_notify_transition(devfreq, &freqs, DEVFREQ_POSTCHANGE);
drivers/devfreq/devfreq.c
373
trace_devfreq_frequency(devfreq, new_freq, cur_freq);
drivers/devfreq/devfreq.c
376
devfreq_notify_transition(devfreq, &freqs, DEVFREQ_POSTCHANGE);
drivers/devfreq/devfreq.c
378
if (devfreq_update_status(devfreq, new_freq))
drivers/devfreq/devfreq.c
379
dev_warn(&devfreq->dev,
drivers/devfreq/devfreq.c
382
devfreq->previous_freq = new_freq;
drivers/devfreq/devfreq.c
384
if (devfreq->suspend_freq)
drivers/devfreq/devfreq.c
385
devfreq->resume_freq = new_freq;
drivers/devfreq/devfreq.c
400
int devfreq_update_target(struct devfreq *devfreq, unsigned long freq)
drivers/devfreq/devfreq.c
406
lockdep_assert_held(&devfreq->lock);
drivers/devfreq/devfreq.c
408
if (!devfreq->governor)
drivers/devfreq/devfreq.c
412
err = devfreq->governor->get_target_freq(devfreq, &freq);
drivers/devfreq/devfreq.c
415
devfreq_get_freq_range(devfreq, &min_freq, &max_freq);
drivers/devfreq/devfreq.c
426
return devfreq_set_target(devfreq, freq, flags);
drivers/devfreq/devfreq.c
439
int update_devfreq(struct devfreq *devfreq)
drivers/devfreq/devfreq.c
441
return devfreq_update_target(devfreq, 0L);
drivers/devfreq/devfreq.c
453
struct devfreq *devfreq = container_of(work,
drivers/devfreq/devfreq.c
454
struct devfreq, work.work);
drivers/devfreq/devfreq.c
456
mutex_lock(&devfreq->lock);
drivers/devfreq/devfreq.c
457
err = update_devfreq(devfreq);
drivers/devfreq/devfreq.c
459
dev_err(&devfreq->dev, "dvfs failed with (%d) error\n", err);
drivers/devfreq/devfreq.c
461
if (devfreq->stop_polling)
drivers/devfreq/devfreq.c
464
queue_delayed_work(devfreq_wq, &devfreq->work,
drivers/devfreq/devfreq.c
465
msecs_to_jiffies(devfreq->profile->polling_ms));
drivers/devfreq/devfreq.c
468
mutex_unlock(&devfreq->lock);
drivers/devfreq/devfreq.c
469
trace_devfreq_monitor(devfreq);
drivers/devfreq/devfreq.c
482
void devfreq_monitor_start(struct devfreq *devfreq)
drivers/devfreq/devfreq.c
484
if (IS_SUPPORTED_FLAG(devfreq->governor->flags, IRQ_DRIVEN))
drivers/devfreq/devfreq.c
487
mutex_lock(&devfreq->lock);
drivers/devfreq/devfreq.c
488
if (delayed_work_pending(&devfreq->work))
drivers/devfreq/devfreq.c
491
switch (devfreq->profile->timer) {
drivers/devfreq/devfreq.c
493
INIT_DEFERRABLE_WORK(&devfreq->work, devfreq_monitor);
drivers/devfreq/devfreq.c
496
INIT_DELAYED_WORK(&devfreq->work, devfreq_monitor);
drivers/devfreq/devfreq.c
502
if (devfreq->profile->polling_ms)
drivers/devfreq/devfreq.c
503
queue_delayed_work(devfreq_wq, &devfreq->work,
drivers/devfreq/devfreq.c
504
msecs_to_jiffies(devfreq->profile->polling_ms));
drivers/devfreq/devfreq.c
507
devfreq->stop_polling = false;
drivers/devfreq/devfreq.c
508
mutex_unlock(&devfreq->lock);
drivers/devfreq/devfreq.c
520
void devfreq_monitor_stop(struct devfreq *devfreq)
drivers/devfreq/devfreq.c
522
if (IS_SUPPORTED_FLAG(devfreq->governor->flags, IRQ_DRIVEN))
drivers/devfreq/devfreq.c
525
mutex_lock(&devfreq->lock);
drivers/devfreq/devfreq.c
526
if (devfreq->stop_polling) {
drivers/devfreq/devfreq.c
527
mutex_unlock(&devfreq->lock);
drivers/devfreq/devfreq.c
531
devfreq->stop_polling = true;
drivers/devfreq/devfreq.c
532
mutex_unlock(&devfreq->lock);
drivers/devfreq/devfreq.c
533
cancel_delayed_work_sync(&devfreq->work);
drivers/devfreq/devfreq.c
549
void devfreq_monitor_suspend(struct devfreq *devfreq)
drivers/devfreq/devfreq.c
551
mutex_lock(&devfreq->lock);
drivers/devfreq/devfreq.c
552
if (devfreq->stop_polling) {
drivers/devfreq/devfreq.c
553
mutex_unlock(&devfreq->lock);
drivers/devfreq/devfreq.c
557
devfreq_update_status(devfreq, devfreq->previous_freq);
drivers/devfreq/devfreq.c
558
devfreq->stop_polling = true;
drivers/devfreq/devfreq.c
559
mutex_unlock(&devfreq->lock);
drivers/devfreq/devfreq.c
561
if (IS_SUPPORTED_FLAG(devfreq->governor->flags, IRQ_DRIVEN))
drivers/devfreq/devfreq.c
564
cancel_delayed_work_sync(&devfreq->work);
drivers/devfreq/devfreq.c
576
void devfreq_monitor_resume(struct devfreq *devfreq)
drivers/devfreq/devfreq.c
580
mutex_lock(&devfreq->lock);
drivers/devfreq/devfreq.c
582
if (IS_SUPPORTED_FLAG(devfreq->governor->flags, IRQ_DRIVEN))
drivers/devfreq/devfreq.c
585
if (!devfreq->stop_polling)
drivers/devfreq/devfreq.c
588
if (!delayed_work_pending(&devfreq->work) &&
drivers/devfreq/devfreq.c
589
devfreq->profile->polling_ms)
drivers/devfreq/devfreq.c
590
queue_delayed_work(devfreq_wq, &devfreq->work,
drivers/devfreq/devfreq.c
591
msecs_to_jiffies(devfreq->profile->polling_ms));
drivers/devfreq/devfreq.c
594
devfreq->stats.last_update = get_jiffies_64();
drivers/devfreq/devfreq.c
595
devfreq->stop_polling = false;
drivers/devfreq/devfreq.c
597
if (devfreq->profile->get_cur_freq &&
drivers/devfreq/devfreq.c
598
!devfreq->profile->get_cur_freq(devfreq->dev.parent, &freq))
drivers/devfreq/devfreq.c
599
devfreq->previous_freq = freq;
drivers/devfreq/devfreq.c
602
mutex_unlock(&devfreq->lock);
drivers/devfreq/devfreq.c
614
void devfreq_update_interval(struct devfreq *devfreq, unsigned int *delay)
drivers/devfreq/devfreq.c
616
unsigned int cur_delay = devfreq->profile->polling_ms;
drivers/devfreq/devfreq.c
619
mutex_lock(&devfreq->lock);
drivers/devfreq/devfreq.c
620
devfreq->profile->polling_ms = new_delay;
drivers/devfreq/devfreq.c
622
if (IS_SUPPORTED_FLAG(devfreq->governor->flags, IRQ_DRIVEN))
drivers/devfreq/devfreq.c
625
if (devfreq->stop_polling)
drivers/devfreq/devfreq.c
630
mutex_unlock(&devfreq->lock);
drivers/devfreq/devfreq.c
631
cancel_delayed_work_sync(&devfreq->work);
drivers/devfreq/devfreq.c
637
queue_delayed_work(devfreq_wq, &devfreq->work,
drivers/devfreq/devfreq.c
638
msecs_to_jiffies(devfreq->profile->polling_ms));
drivers/devfreq/devfreq.c
644
mutex_unlock(&devfreq->lock);
drivers/devfreq/devfreq.c
645
cancel_delayed_work_sync(&devfreq->work);
drivers/devfreq/devfreq.c
646
mutex_lock(&devfreq->lock);
drivers/devfreq/devfreq.c
647
if (!devfreq->stop_polling)
drivers/devfreq/devfreq.c
648
queue_delayed_work(devfreq_wq, &devfreq->work,
drivers/devfreq/devfreq.c
649
msecs_to_jiffies(devfreq->profile->polling_ms));
drivers/devfreq/devfreq.c
652
mutex_unlock(&devfreq->lock);
drivers/devfreq/devfreq.c
668
struct devfreq *devfreq = container_of(nb, struct devfreq, nb);
drivers/devfreq/devfreq.c
67
static struct devfreq *find_device_devfreq(struct device *dev)
drivers/devfreq/devfreq.c
671
mutex_lock(&devfreq->lock);
drivers/devfreq/devfreq.c
673
devfreq->scaling_min_freq = find_available_min_freq(devfreq);
drivers/devfreq/devfreq.c
674
if (!devfreq->scaling_min_freq)
drivers/devfreq/devfreq.c
677
devfreq->scaling_max_freq = find_available_max_freq(devfreq);
drivers/devfreq/devfreq.c
678
if (!devfreq->scaling_max_freq) {
drivers/devfreq/devfreq.c
679
devfreq->scaling_max_freq = ULONG_MAX;
drivers/devfreq/devfreq.c
683
err = update_devfreq(devfreq);
drivers/devfreq/devfreq.c
686
mutex_unlock(&devfreq->lock);
drivers/devfreq/devfreq.c
688
dev_err(devfreq->dev.parent,
drivers/devfreq/devfreq.c
69
struct devfreq *tmp_devfreq;
drivers/devfreq/devfreq.c
699
static int qos_notifier_call(struct devfreq *devfreq)
drivers/devfreq/devfreq.c
703
mutex_lock(&devfreq->lock);
drivers/devfreq/devfreq.c
704
err = update_devfreq(devfreq);
drivers/devfreq/devfreq.c
705
mutex_unlock(&devfreq->lock);
drivers/devfreq/devfreq.c
707
dev_err(devfreq->dev.parent,
drivers/devfreq/devfreq.c
723
return qos_notifier_call(container_of(nb, struct devfreq, nb_min));
drivers/devfreq/devfreq.c
735
return qos_notifier_call(container_of(nb, struct devfreq, nb_max));
drivers/devfreq/devfreq.c
746
struct devfreq *devfreq = to_devfreq(dev);
drivers/devfreq/devfreq.c
750
list_del(&devfreq->node);
drivers/devfreq/devfreq.c
753
err = dev_pm_qos_remove_notifier(devfreq->dev.parent, &devfreq->nb_max,
drivers/devfreq/devfreq.c
758
err = dev_pm_qos_remove_notifier(devfreq->dev.parent, &devfreq->nb_min,
drivers/devfreq/devfreq.c
764
if (dev_pm_qos_request_active(&devfreq->user_max_freq_req)) {
drivers/devfreq/devfreq.c
765
err = dev_pm_qos_remove_request(&devfreq->user_max_freq_req);
drivers/devfreq/devfreq.c
770
if (dev_pm_qos_request_active(&devfreq->user_min_freq_req)) {
drivers/devfreq/devfreq.c
771
err = dev_pm_qos_remove_request(&devfreq->user_min_freq_req);
drivers/devfreq/devfreq.c
777
if (devfreq->profile->exit)
drivers/devfreq/devfreq.c
778
devfreq->profile->exit(devfreq->dev.parent);
drivers/devfreq/devfreq.c
780
if (devfreq->opp_table)
drivers/devfreq/devfreq.c
781
dev_pm_opp_put_opp_table(devfreq->opp_table);
drivers/devfreq/devfreq.c
783
mutex_destroy(&devfreq->lock);
drivers/devfreq/devfreq.c
784
srcu_cleanup_notifier_head(&devfreq->transition_notifier_list);
drivers/devfreq/devfreq.c
785
kfree(devfreq);
drivers/devfreq/devfreq.c
788
static void create_sysfs_files(struct devfreq *devfreq,
drivers/devfreq/devfreq.c
790
static void remove_sysfs_files(struct devfreq *devfreq,
drivers/devfreq/devfreq.c
800
struct devfreq *devfreq_add_device(struct device *dev,
drivers/devfreq/devfreq.c
805
struct devfreq *devfreq;
drivers/devfreq/devfreq.c
815
devfreq = find_device_devfreq(dev);
drivers/devfreq/devfreq.c
817
if (!IS_ERR(devfreq)) {
drivers/devfreq/devfreq.c
824
devfreq = kzalloc_obj(struct devfreq);
drivers/devfreq/devfreq.c
825
if (!devfreq) {
drivers/devfreq/devfreq.c
830
mutex_init(&devfreq->lock);
drivers/devfreq/devfreq.c
831
mutex_lock(&devfreq->lock);
drivers/devfreq/devfreq.c
832
devfreq->dev.parent = dev;
drivers/devfreq/devfreq.c
833
devfreq->dev.class = devfreq_class;
drivers/devfreq/devfreq.c
834
devfreq->dev.groups = profile->dev_groups;
drivers/devfreq/devfreq.c
835
devfreq->dev.release = devfreq_dev_release;
drivers/devfreq/devfreq.c
836
INIT_LIST_HEAD(&devfreq->node);
drivers/devfreq/devfreq.c
837
devfreq->profile = profile;
drivers/devfreq/devfreq.c
838
devfreq->previous_freq = profile->initial_freq;
drivers/devfreq/devfreq.c
839
devfreq->last_status.current_frequency = profile->initial_freq;
drivers/devfreq/devfreq.c
840
devfreq->data = data;
drivers/devfreq/devfreq.c
841
devfreq->nb.notifier_call = devfreq_notifier_call;
drivers/devfreq/devfreq.c
843
if (devfreq->profile->timer < 0
drivers/devfreq/devfreq.c
844
|| devfreq->profile->timer >= DEVFREQ_TIMER_NUM) {
drivers/devfreq/devfreq.c
845
mutex_unlock(&devfreq->lock);
drivers/devfreq/devfreq.c
850
if (!devfreq->profile->max_state || !devfreq->profile->freq_table) {
drivers/devfreq/devfreq.c
851
mutex_unlock(&devfreq->lock);
drivers/devfreq/devfreq.c
852
err = set_freq_table(devfreq);
drivers/devfreq/devfreq.c
855
mutex_lock(&devfreq->lock);
drivers/devfreq/devfreq.c
857
devfreq->freq_table = devfreq->profile->freq_table;
drivers/devfreq/devfreq.c
858
devfreq->max_state = devfreq->profile->max_state;
drivers/devfreq/devfreq.c
86
static unsigned long find_available_min_freq(struct devfreq *devfreq)
drivers/devfreq/devfreq.c
861
devfreq->scaling_min_freq = find_available_min_freq(devfreq);
drivers/devfreq/devfreq.c
862
if (!devfreq->scaling_min_freq) {
drivers/devfreq/devfreq.c
863
mutex_unlock(&devfreq->lock);
drivers/devfreq/devfreq.c
868
devfreq->scaling_max_freq = find_available_max_freq(devfreq);
drivers/devfreq/devfreq.c
869
if (!devfreq->scaling_max_freq) {
drivers/devfreq/devfreq.c
870
mutex_unlock(&devfreq->lock);
drivers/devfreq/devfreq.c
875
devfreq->suspend_freq = dev_pm_opp_get_suspend_opp_freq(dev);
drivers/devfreq/devfreq.c
876
devfreq->opp_table = dev_pm_opp_get_opp_table(dev);
drivers/devfreq/devfreq.c
877
if (IS_ERR(devfreq->opp_table))
drivers/devfreq/devfreq.c
878
devfreq->opp_table = NULL;
drivers/devfreq/devfreq.c
880
atomic_set(&devfreq->suspend_count, 0);
drivers/devfreq/devfreq.c
882
dev_set_name(&devfreq->dev, "%s", dev_name(dev));
drivers/devfreq/devfreq.c
883
err = device_register(&devfreq->dev);
drivers/devfreq/devfreq.c
885
mutex_unlock(&devfreq->lock);
drivers/devfreq/devfreq.c
886
put_device(&devfreq->dev);
drivers/devfreq/devfreq.c
890
devfreq->stats.trans_table = devm_kzalloc(&devfreq->dev,
drivers/devfreq/devfreq.c
892
devfreq->max_state,
drivers/devfreq/devfreq.c
893
devfreq->max_state),
drivers/devfreq/devfreq.c
895
if (!devfreq->stats.trans_table) {
drivers/devfreq/devfreq.c
896
mutex_unlock(&devfreq->lock);
drivers/devfreq/devfreq.c
901
devfreq->stats.time_in_state = devm_kcalloc(&devfreq->dev,
drivers/devfreq/devfreq.c
902
devfreq->max_state,
drivers/devfreq/devfreq.c
903
sizeof(*devfreq->stats.time_in_state),
drivers/devfreq/devfreq.c
905
if (!devfreq->stats.time_in_state) {
drivers/devfreq/devfreq.c
906
mutex_unlock(&devfreq->lock);
drivers/devfreq/devfreq.c
91
opp = dev_pm_opp_find_freq_ceil_indexed(devfreq->dev.parent, &min_freq, 0);
drivers/devfreq/devfreq.c
911
devfreq->stats.total_trans = 0;
drivers/devfreq/devfreq.c
912
devfreq->stats.last_update = get_jiffies_64();
drivers/devfreq/devfreq.c
914
srcu_init_notifier_head(&devfreq->transition_notifier_list);
drivers/devfreq/devfreq.c
916
mutex_unlock(&devfreq->lock);
drivers/devfreq/devfreq.c
918
err = dev_pm_qos_add_request(dev, &devfreq->user_min_freq_req,
drivers/devfreq/devfreq.c
922
err = dev_pm_qos_add_request(dev, &devfreq->user_max_freq_req,
drivers/devfreq/devfreq.c
928
devfreq->nb_min.notifier_call = qos_min_notifier_call;
drivers/devfreq/devfreq.c
929
err = dev_pm_qos_add_notifier(dev, &devfreq->nb_min,
drivers/devfreq/devfreq.c
934
devfreq->nb_max.notifier_call = qos_max_notifier_call;
drivers/devfreq/devfreq.c
935
err = dev_pm_qos_add_notifier(dev, &devfreq->nb_max,
drivers/devfreq/devfreq.c
950
devfreq->governor = governor;
drivers/devfreq/devfreq.c
951
err = devfreq->governor->event_handler(devfreq, DEVFREQ_GOV_START,
drivers/devfreq/devfreq.c
959
create_sysfs_files(devfreq, devfreq->governor);
drivers/devfreq/devfreq.c
961
list_add(&devfreq->node, &devfreq_list);
drivers/devfreq/devfreq.c
965
if (devfreq->profile->is_cooling_device) {
drivers/devfreq/devfreq.c
966
devfreq->cdev = devfreq_cooling_em_register(devfreq, NULL);
drivers/devfreq/devfreq.c
967
if (IS_ERR(devfreq->cdev))
drivers/devfreq/devfreq.c
968
devfreq->cdev = NULL;
drivers/devfreq/devfreq.c
971
return devfreq;
drivers/devfreq/devfreq.c
976
devfreq_remove_device(devfreq);
drivers/devfreq/devfreq.c
977
devfreq = NULL;
drivers/devfreq/devfreq.c
979
kfree(devfreq);
drivers/devfreq/devfreq.c
991
int devfreq_remove_device(struct devfreq *devfreq)
drivers/devfreq/devfreq.c
993
if (!devfreq)
drivers/devfreq/devfreq.c
996
devfreq_cooling_unregister(devfreq->cdev);
drivers/devfreq/devfreq.c
998
if (devfreq->governor) {
drivers/devfreq/devfreq.c
999
devfreq->governor->event_handler(devfreq,
drivers/devfreq/exynos-bus.c
29
struct devfreq *devfreq;
drivers/devfreq/exynos-bus.c
299
bus->devfreq = devm_devfreq_add_device(dev, profile,
drivers/devfreq/exynos-bus.c
302
if (IS_ERR(bus->devfreq)) {
drivers/devfreq/exynos-bus.c
304
return PTR_ERR(bus->devfreq);
drivers/devfreq/exynos-bus.c
308
ret = devm_devfreq_register_opp_notifier(dev, bus->devfreq);
drivers/devfreq/exynos-bus.c
344
struct devfreq *parent_devfreq;
drivers/devfreq/exynos-bus.c
362
bus->devfreq = devm_devfreq_add_device(dev, profile, DEVFREQ_GOV_PASSIVE,
drivers/devfreq/exynos-bus.c
364
if (IS_ERR(bus->devfreq)) {
drivers/devfreq/exynos-bus.c
367
return PTR_ERR(bus->devfreq);
drivers/devfreq/exynos-bus.c
434
max_state = bus->devfreq->max_state;
drivers/devfreq/exynos-bus.c
435
min_freq = (bus->devfreq->freq_table[0] / 1000);
drivers/devfreq/exynos-bus.c
436
max_freq = (bus->devfreq->freq_table[max_state - 1] / 1000);
drivers/devfreq/exynos-bus.c
454
devfreq_suspend_device(bus->devfreq);
drivers/devfreq/governor_passive.c
102
static int get_target_freq_with_cpufreq(struct devfreq *devfreq,
drivers/devfreq/governor_passive.c
106
(struct devfreq_passive_data *)devfreq->data;
drivers/devfreq/governor_passive.c
131
devfreq->opp_table, &cpu_cur);
drivers/devfreq/governor_passive.c
139
devfreq_get_freq_range(devfreq, &dev_min, &dev_max);
drivers/devfreq/governor_passive.c
155
static int get_target_freq_with_devfreq(struct devfreq *devfreq,
drivers/devfreq/governor_passive.c
159
= (struct devfreq_passive_data *)devfreq->data;
drivers/devfreq/governor_passive.c
160
struct devfreq *parent_devfreq = (struct devfreq *)p_data->parent;
drivers/devfreq/governor_passive.c
167
devfreq->opp_table, freq);
drivers/devfreq/governor_passive.c
179
if (i < devfreq->max_state) {
drivers/devfreq/governor_passive.c
180
child_freq = devfreq->freq_table[i];
drivers/devfreq/governor_passive.c
182
count = devfreq->max_state;
drivers/devfreq/governor_passive.c
183
child_freq = devfreq->freq_table[count - 1];
drivers/devfreq/governor_passive.c
192
static int devfreq_passive_get_target_freq(struct devfreq *devfreq,
drivers/devfreq/governor_passive.c
196
(struct devfreq_passive_data *)devfreq->data;
drivers/devfreq/governor_passive.c
208
return p_data->get_target_freq(devfreq, freq);
drivers/devfreq/governor_passive.c
212
ret = get_target_freq_with_devfreq(devfreq, freq);
drivers/devfreq/governor_passive.c
215
ret = get_target_freq_with_cpufreq(devfreq, freq);
drivers/devfreq/governor_passive.c
219
dev_err(&devfreq->dev, "Invalid parent type\n");
drivers/devfreq/governor_passive.c
231
struct devfreq *devfreq = (struct devfreq *)p_data->this;
drivers/devfreq/governor_passive.c
247
mutex_lock(&devfreq->lock);
drivers/devfreq/governor_passive.c
248
ret = devfreq_update_target(devfreq, freqs->new);
drivers/devfreq/governor_passive.c
249
mutex_unlock(&devfreq->lock);
drivers/devfreq/governor_passive.c
252
dev_err(&devfreq->dev, "failed to update the frequency.\n");
drivers/devfreq/governor_passive.c
259
static int cpufreq_passive_unregister_notifier(struct devfreq *devfreq)
drivers/devfreq/governor_passive.c
262
= (struct devfreq_passive_data *)devfreq->data;
drivers/devfreq/governor_passive.c
277
static int cpufreq_passive_register_notifier(struct devfreq *devfreq)
drivers/devfreq/governor_passive.c
280
= (struct devfreq_passive_data *)devfreq->data;
drivers/devfreq/governor_passive.c
281
struct device *dev = devfreq->dev.parent;
drivers/devfreq/governor_passive.c
344
mutex_lock(&devfreq->lock);
drivers/devfreq/governor_passive.c
345
ret = devfreq_update_target(devfreq, 0L);
drivers/devfreq/governor_passive.c
346
mutex_unlock(&devfreq->lock);
drivers/devfreq/governor_passive.c
366
struct devfreq *devfreq = (struct devfreq *)data->this;
drivers/devfreq/governor_passive.c
367
struct devfreq *parent = (struct devfreq *)data->parent;
drivers/devfreq/governor_passive.c
372
mutex_lock_nested(&devfreq->lock, SINGLE_DEPTH_NESTING);
drivers/devfreq/governor_passive.c
376
ret = devfreq_update_target(devfreq, freq);
drivers/devfreq/governor_passive.c
381
ret = devfreq_update_target(devfreq, freq);
drivers/devfreq/governor_passive.c
384
mutex_unlock(&devfreq->lock);
drivers/devfreq/governor_passive.c
387
dev_warn(&devfreq->dev,
drivers/devfreq/governor_passive.c
393
static int devfreq_passive_unregister_notifier(struct devfreq *devfreq)
drivers/devfreq/governor_passive.c
396
= (struct devfreq_passive_data *)devfreq->data;
drivers/devfreq/governor_passive.c
397
struct devfreq *parent = (struct devfreq *)p_data->parent;
drivers/devfreq/governor_passive.c
403
static int devfreq_passive_register_notifier(struct devfreq *devfreq)
drivers/devfreq/governor_passive.c
406
= (struct devfreq_passive_data *)devfreq->data;
drivers/devfreq/governor_passive.c
407
struct devfreq *parent = (struct devfreq *)p_data->parent;
drivers/devfreq/governor_passive.c
417
static int devfreq_passive_event_handler(struct devfreq *devfreq,
drivers/devfreq/governor_passive.c
421
= (struct devfreq_passive_data *)devfreq->data;
drivers/devfreq/governor_passive.c
427
p_data->this = devfreq;
drivers/devfreq/governor_passive.c
432
ret = devfreq_passive_register_notifier(devfreq);
drivers/devfreq/governor_passive.c
434
ret = cpufreq_passive_register_notifier(devfreq);
drivers/devfreq/governor_passive.c
438
WARN_ON(devfreq_passive_unregister_notifier(devfreq));
drivers/devfreq/governor_passive.c
440
WARN_ON(cpufreq_passive_unregister_notifier(devfreq));
drivers/devfreq/governor_performance.c
13
static int devfreq_performance_func(struct devfreq *df,
drivers/devfreq/governor_performance.c
24
static int devfreq_performance_handler(struct devfreq *devfreq,
drivers/devfreq/governor_performance.c
30
mutex_lock(&devfreq->lock);
drivers/devfreq/governor_performance.c
31
ret = update_devfreq(devfreq);
drivers/devfreq/governor_performance.c
32
mutex_unlock(&devfreq->lock);
drivers/devfreq/governor_powersave.c
13
static int devfreq_powersave_func(struct devfreq *df,
drivers/devfreq/governor_powersave.c
24
static int devfreq_powersave_handler(struct devfreq *devfreq,
drivers/devfreq/governor_powersave.c
30
mutex_lock(&devfreq->lock);
drivers/devfreq/governor_powersave.c
31
ret = update_devfreq(devfreq);
drivers/devfreq/governor_powersave.c
32
mutex_unlock(&devfreq->lock);
drivers/devfreq/governor_simpleondemand.c
100
devfreq_update_interval(devfreq, (unsigned int *)data);
drivers/devfreq/governor_simpleondemand.c
104
devfreq_monitor_suspend(devfreq);
drivers/devfreq/governor_simpleondemand.c
108
devfreq_monitor_resume(devfreq);
drivers/devfreq/governor_simpleondemand.c
18
static int devfreq_simple_ondemand_func(struct devfreq *df,
drivers/devfreq/governor_simpleondemand.c
87
static int devfreq_simple_ondemand_handler(struct devfreq *devfreq,
drivers/devfreq/governor_simpleondemand.c
92
devfreq_monitor_start(devfreq);
drivers/devfreq/governor_simpleondemand.c
96
devfreq_monitor_stop(devfreq);
drivers/devfreq/governor_userspace.c
104
static void userspace_exit(struct devfreq *devfreq)
drivers/devfreq/governor_userspace.c
110
if (devfreq->dev.kobj.sd)
drivers/devfreq/governor_userspace.c
111
sysfs_remove_group(&devfreq->dev.kobj, &dev_attr_group);
drivers/devfreq/governor_userspace.c
113
kfree(devfreq->governor_data);
drivers/devfreq/governor_userspace.c
114
devfreq->governor_data = NULL;
drivers/devfreq/governor_userspace.c
117
static int devfreq_userspace_handler(struct devfreq *devfreq,
drivers/devfreq/governor_userspace.c
124
ret = userspace_init(devfreq);
drivers/devfreq/governor_userspace.c
127
userspace_exit(devfreq);
drivers/devfreq/governor_userspace.c
23
static int devfreq_userspace_func(struct devfreq *df, unsigned long *freq)
drivers/devfreq/governor_userspace.c
38
struct devfreq *devfreq = to_devfreq(dev);
drivers/devfreq/governor_userspace.c
47
mutex_lock(&devfreq->lock);
drivers/devfreq/governor_userspace.c
48
data = devfreq->governor_data;
drivers/devfreq/governor_userspace.c
52
err = update_devfreq(devfreq);
drivers/devfreq/governor_userspace.c
55
mutex_unlock(&devfreq->lock);
drivers/devfreq/governor_userspace.c
62
struct devfreq *devfreq = to_devfreq(dev);
drivers/devfreq/governor_userspace.c
66
mutex_lock(&devfreq->lock);
drivers/devfreq/governor_userspace.c
67
data = devfreq->governor_data;
drivers/devfreq/governor_userspace.c
73
mutex_unlock(&devfreq->lock);
drivers/devfreq/governor_userspace.c
87
static int userspace_init(struct devfreq *devfreq)
drivers/devfreq/governor_userspace.c
97
devfreq->governor_data = data;
drivers/devfreq/governor_userspace.c
99
err = sysfs_create_group(&devfreq->dev.kobj, &dev_attr_group);
drivers/devfreq/hisi_uncore_freq.c
349
static int hisi_platform_gov_func(struct devfreq *df, unsigned long *freq)
drivers/devfreq/hisi_uncore_freq.c
360
static int hisi_platform_gov_handler(struct devfreq *df, unsigned int event,
drivers/devfreq/hisi_uncore_freq.c
586
uncore->devfreq = devm_devfreq_add_device(dev, profile,
drivers/devfreq/hisi_uncore_freq.c
589
uncore->devfreq = devm_devfreq_add_device(dev, profile,
drivers/devfreq/hisi_uncore_freq.c
591
if (IS_ERR(uncore->devfreq))
drivers/devfreq/hisi_uncore_freq.c
592
return dev_err_probe(dev, PTR_ERR(uncore->devfreq),
drivers/devfreq/hisi_uncore_freq.c
83
struct devfreq *devfreq;
drivers/devfreq/imx-bus.c
125
priv->devfreq = devm_devfreq_add_device(dev, &priv->profile,
drivers/devfreq/imx-bus.c
127
if (IS_ERR(priv->devfreq)) {
drivers/devfreq/imx-bus.c
128
ret = PTR_ERR(priv->devfreq);
drivers/devfreq/imx-bus.c
17
struct devfreq *devfreq;
drivers/devfreq/imx8m-ddrc.c
425
priv->devfreq = devm_devfreq_add_device(dev, &priv->profile,
drivers/devfreq/imx8m-ddrc.c
427
if (IS_ERR(priv->devfreq)) {
drivers/devfreq/imx8m-ddrc.c
428
ret = PTR_ERR(priv->devfreq);
drivers/devfreq/imx8m-ddrc.c
67
struct devfreq *devfreq;
drivers/devfreq/mtk-cci-devfreq.c
25
struct devfreq *devfreq;
drivers/devfreq/mtk-cci-devfreq.c
362
drv->devfreq = devm_devfreq_add_device(dev, &mtk_ccifreq_profile,
drivers/devfreq/mtk-cci-devfreq.c
365
if (IS_ERR(drv->devfreq)) {
drivers/devfreq/mtk-cci-devfreq.c
368
PTR_ERR(drv->devfreq));
drivers/devfreq/rk3399_dmc.c
257
ret = devfreq_suspend_device(dmcfreq->devfreq);
drivers/devfreq/rk3399_dmc.c
277
ret = devfreq_resume_device(dmcfreq->devfreq);
drivers/devfreq/rk3399_dmc.c
42
struct devfreq *devfreq;
drivers/devfreq/rk3399_dmc.c
440
data->devfreq = devm_devfreq_add_device(dev,
drivers/devfreq/rk3399_dmc.c
444
if (IS_ERR(data->devfreq)) {
drivers/devfreq/rk3399_dmc.c
445
ret = PTR_ERR(data->devfreq);
drivers/devfreq/rk3399_dmc.c
449
devm_devfreq_register_opp_notifier(dev, data->devfreq);
drivers/devfreq/sun8i-a33-mbus.c
219
struct devfreq *devfreq = priv->devfreq_dram;
drivers/devfreq/sun8i-a33-mbus.c
229
if (*freq == devfreq->previous_freq)
drivers/devfreq/sun8i-a33-mbus.c
235
*freq = devfreq->previous_freq;
drivers/devfreq/sun8i-a33-mbus.c
85
struct devfreq *devfreq_dram;
drivers/devfreq/tegra30-devfreq.c
180
struct devfreq *devfreq;
drivers/devfreq/tegra30-devfreq.c
255
u32 band = avg_band_freq * tegra->devfreq->profile->polling_ms;
drivers/devfreq/tegra30-devfreq.c
268
u32 val = tegra->cur_freq * tegra->devfreq->profile->polling_ms;
drivers/devfreq/tegra30-devfreq.c
342
target_freq = dev->avg_count / tegra->devfreq->profile->polling_ms;
drivers/devfreq/tegra30-devfreq.c
376
mutex_lock(&tegra->devfreq->lock);
drivers/devfreq/tegra30-devfreq.c
387
update_devfreq(tegra->devfreq);
drivers/devfreq/tegra30-devfreq.c
389
mutex_unlock(&tegra->devfreq->lock);
drivers/devfreq/tegra30-devfreq.c
423
mutex_lock(&tegra->devfreq->lock);
drivers/devfreq/tegra30-devfreq.c
424
update_devfreq(tegra->devfreq);
drivers/devfreq/tegra30-devfreq.c
425
mutex_unlock(&tegra->devfreq->lock);
drivers/devfreq/tegra30-devfreq.c
465
if (mutex_trylock(&tegra->devfreq->lock)) {
drivers/devfreq/tegra30-devfreq.c
468
mutex_unlock(&tegra->devfreq->lock);
drivers/devfreq/tegra30-devfreq.c
502
dev->avg_count = tegra->cur_freq * tegra->devfreq->profile->polling_ms;
drivers/devfreq/tegra30-devfreq.c
543
if (!tegra->devfreq->profile->polling_ms || !tegra->started)
drivers/devfreq/tegra30-devfreq.c
546
actmon_writel(tegra, tegra->devfreq->profile->polling_ms - 1,
drivers/devfreq/tegra30-devfreq.c
557
dev_err(tegra->devfreq->dev.parent,
drivers/devfreq/tegra30-devfreq.c
577
dev_err(tegra->devfreq->dev.parent,
drivers/devfreq/tegra30-devfreq.c
611
if (!tegra->devfreq->profile->polling_ms || !tegra->started)
drivers/devfreq/tegra30-devfreq.c
674
stat->total_time = tegra->devfreq->profile->polling_ms * cur_freq;
drivers/devfreq/tegra30-devfreq.c
688
static int tegra_governor_get_target(struct devfreq *devfreq,
drivers/devfreq/tegra30-devfreq.c
698
err = devfreq_update_stats(devfreq);
drivers/devfreq/tegra30-devfreq.c
702
stat = &devfreq->last_status;
drivers/devfreq/tegra30-devfreq.c
724
static int tegra_governor_event_handler(struct devfreq *devfreq,
drivers/devfreq/tegra30-devfreq.c
727
struct tegra_devfreq *tegra = dev_get_drvdata(devfreq->dev.parent);
drivers/devfreq/tegra30-devfreq.c
735
tegra->devfreq = devfreq;
drivers/devfreq/tegra30-devfreq.c
739
devfreq_monitor_start(devfreq);
drivers/devfreq/tegra30-devfreq.c
745
devfreq_monitor_stop(devfreq);
drivers/devfreq/tegra30-devfreq.c
759
devfreq_update_interval(devfreq, new_delay);
drivers/devfreq/tegra30-devfreq.c
765
devfreq_monitor_suspend(devfreq);
drivers/devfreq/tegra30-devfreq.c
769
devfreq_monitor_resume(devfreq);
drivers/devfreq/tegra30-devfreq.c
833
struct devfreq *devfreq;
drivers/devfreq/tegra30-devfreq.c
934
devfreq = devm_devfreq_add_device(&pdev->dev, &tegra_devfreq_profile,
drivers/devfreq/tegra30-devfreq.c
936
if (IS_ERR(devfreq)) {
drivers/devfreq/tegra30-devfreq.c
937
dev_err(&pdev->dev, "Failed to add device: %pe\n", devfreq);
drivers/devfreq/tegra30-devfreq.c
938
return PTR_ERR(devfreq);
drivers/gpu/drm/lima/lima_devfreq.c
100
devm_devfreq_remove_device(ldev->dev, devfreq->devfreq);
drivers/gpu/drm/lima/lima_devfreq.c
101
devfreq->devfreq = NULL;
drivers/gpu/drm/lima/lima_devfreq.c
109
struct devfreq *devfreq;
drivers/gpu/drm/lima/lima_devfreq.c
110
struct lima_devfreq *ldevfreq = &ldev->devfreq;
drivers/gpu/drm/lima/lima_devfreq.c
159
devfreq = devm_devfreq_add_device(dev, &lima_devfreq_profile,
drivers/gpu/drm/lima/lima_devfreq.c
162
if (IS_ERR(devfreq)) {
drivers/gpu/drm/lima/lima_devfreq.c
164
return PTR_ERR(devfreq);
drivers/gpu/drm/lima/lima_devfreq.c
167
ldevfreq->devfreq = devfreq;
drivers/gpu/drm/lima/lima_devfreq.c
169
cooling = of_devfreq_cooling_register(dev->of_node, devfreq);
drivers/gpu/drm/lima/lima_devfreq.c
178
void lima_devfreq_record_busy(struct lima_devfreq *devfreq)
drivers/gpu/drm/lima/lima_devfreq.c
182
if (!devfreq->devfreq)
drivers/gpu/drm/lima/lima_devfreq.c
185
spin_lock_irqsave(&devfreq->lock, irqflags);
drivers/gpu/drm/lima/lima_devfreq.c
187
lima_devfreq_update_utilization(devfreq);
drivers/gpu/drm/lima/lima_devfreq.c
189
devfreq->busy_count++;
drivers/gpu/drm/lima/lima_devfreq.c
19
static void lima_devfreq_update_utilization(struct lima_devfreq *devfreq)
drivers/gpu/drm/lima/lima_devfreq.c
191
spin_unlock_irqrestore(&devfreq->lock, irqflags);
drivers/gpu/drm/lima/lima_devfreq.c
194
void lima_devfreq_record_idle(struct lima_devfreq *devfreq)
drivers/gpu/drm/lima/lima_devfreq.c
198
if (!devfreq->devfreq)
drivers/gpu/drm/lima/lima_devfreq.c
201
spin_lock_irqsave(&devfreq->lock, irqflags);
drivers/gpu/drm/lima/lima_devfreq.c
203
lima_devfreq_update_utilization(devfreq);
drivers/gpu/drm/lima/lima_devfreq.c
205
WARN_ON(--devfreq->busy_count < 0);
drivers/gpu/drm/lima/lima_devfreq.c
207
spin_unlock_irqrestore(&devfreq->lock, irqflags);
drivers/gpu/drm/lima/lima_devfreq.c
210
int lima_devfreq_resume(struct lima_devfreq *devfreq)
drivers/gpu/drm/lima/lima_devfreq.c
214
if (!devfreq->devfreq)
drivers/gpu/drm/lima/lima_devfreq.c
217
spin_lock_irqsave(&devfreq->lock, irqflags);
drivers/gpu/drm/lima/lima_devfreq.c
219
lima_devfreq_reset(devfreq);
drivers/gpu/drm/lima/lima_devfreq.c
221
spin_unlock_irqrestore(&devfreq->lock, irqflags);
drivers/gpu/drm/lima/lima_devfreq.c
223
return devfreq_resume_device(devfreq->devfreq);
drivers/gpu/drm/lima/lima_devfreq.c
226
int lima_devfreq_suspend(struct lima_devfreq *devfreq)
drivers/gpu/drm/lima/lima_devfreq.c
228
if (!devfreq->devfreq)
drivers/gpu/drm/lima/lima_devfreq.c
231
return devfreq_suspend_device(devfreq->devfreq);
drivers/gpu/drm/lima/lima_devfreq.c
24
last = devfreq->time_last_update;
drivers/gpu/drm/lima/lima_devfreq.c
26
if (devfreq->busy_count > 0)
drivers/gpu/drm/lima/lima_devfreq.c
27
devfreq->busy_time += ktime_sub(now, last);
drivers/gpu/drm/lima/lima_devfreq.c
29
devfreq->idle_time += ktime_sub(now, last);
drivers/gpu/drm/lima/lima_devfreq.c
31
devfreq->time_last_update = now;
drivers/gpu/drm/lima/lima_devfreq.c
47
static void lima_devfreq_reset(struct lima_devfreq *devfreq)
drivers/gpu/drm/lima/lima_devfreq.c
49
devfreq->busy_time = 0;
drivers/gpu/drm/lima/lima_devfreq.c
50
devfreq->idle_time = 0;
drivers/gpu/drm/lima/lima_devfreq.c
51
devfreq->time_last_update = ktime_get();
drivers/gpu/drm/lima/lima_devfreq.c
58
struct lima_devfreq *devfreq = &ldev->devfreq;
drivers/gpu/drm/lima/lima_devfreq.c
63
spin_lock_irqsave(&devfreq->lock, irqflags);
drivers/gpu/drm/lima/lima_devfreq.c
65
lima_devfreq_update_utilization(devfreq);
drivers/gpu/drm/lima/lima_devfreq.c
67
status->total_time = ktime_to_ns(ktime_add(devfreq->busy_time,
drivers/gpu/drm/lima/lima_devfreq.c
68
devfreq->idle_time));
drivers/gpu/drm/lima/lima_devfreq.c
69
status->busy_time = ktime_to_ns(devfreq->busy_time);
drivers/gpu/drm/lima/lima_devfreq.c
71
lima_devfreq_reset(devfreq);
drivers/gpu/drm/lima/lima_devfreq.c
73
spin_unlock_irqrestore(&devfreq->lock, irqflags);
drivers/gpu/drm/lima/lima_devfreq.c
92
struct lima_devfreq *devfreq = &ldev->devfreq;
drivers/gpu/drm/lima/lima_devfreq.c
94
if (devfreq->cooling) {
drivers/gpu/drm/lima/lima_devfreq.c
95
devfreq_cooling_unregister(devfreq->cooling);
drivers/gpu/drm/lima/lima_devfreq.c
96
devfreq->cooling = NULL;
drivers/gpu/drm/lima/lima_devfreq.c
99
if (devfreq->devfreq) {
drivers/gpu/drm/lima/lima_devfreq.h
11
struct devfreq;
drivers/gpu/drm/lima/lima_devfreq.h
17
struct devfreq *devfreq;
drivers/gpu/drm/lima/lima_devfreq.h
36
void lima_devfreq_record_busy(struct lima_devfreq *devfreq);
drivers/gpu/drm/lima/lima_devfreq.h
37
void lima_devfreq_record_idle(struct lima_devfreq *devfreq);
drivers/gpu/drm/lima/lima_devfreq.h
39
int lima_devfreq_resume(struct lima_devfreq *devfreq);
drivers/gpu/drm/lima/lima_devfreq.h
40
int lima_devfreq_suspend(struct lima_devfreq *devfreq);
drivers/gpu/drm/lima/lima_device.c
493
err = lima_devfreq_resume(&ldev->devfreq);
drivers/gpu/drm/lima/lima_device.c
521
err = lima_devfreq_suspend(&ldev->devfreq);
drivers/gpu/drm/lima/lima_device.h
103
struct lima_devfreq devfreq;
drivers/gpu/drm/lima/lima_sched.c
193
lima_devfreq_record_busy(&ldev->devfreq);
drivers/gpu/drm/lima/lima_sched.c
199
lima_devfreq_record_idle(&ldev->devfreq);
drivers/gpu/drm/msm/msm_gpu.h
120
struct devfreq *devfreq;
drivers/gpu/drm/msm/msm_gpu.h
259
struct msm_gpu_devfreq devfreq;
drivers/gpu/drm/msm/msm_gpu_devfreq.c
135
struct msm_gpu_devfreq *df = &gpu->devfreq;
drivers/gpu/drm/msm/msm_gpu_devfreq.c
136
return !!df->devfreq;
drivers/gpu/drm/msm/msm_gpu_devfreq.c
141
struct msm_gpu_devfreq *df = &gpu->devfreq;
drivers/gpu/drm/msm/msm_gpu_devfreq.c
179
df->devfreq = devm_devfreq_add_device(&gpu->pdev->dev,
drivers/gpu/drm/msm/msm_gpu_devfreq.c
183
if (IS_ERR(df->devfreq)) {
drivers/gpu/drm/msm/msm_gpu_devfreq.c
186
df->devfreq = NULL;
drivers/gpu/drm/msm/msm_gpu_devfreq.c
190
devfreq_suspend_device(df->devfreq);
drivers/gpu/drm/msm/msm_gpu_devfreq.c
192
gpu->cooling = of_devfreq_cooling_register(gpu->pdev->dev.of_node, df->devfreq);
drivers/gpu/drm/msm/msm_gpu_devfreq.c
219
struct msm_gpu_devfreq *df = &gpu->devfreq;
drivers/gpu/drm/msm/msm_gpu_devfreq.c
23
struct msm_gpu_devfreq *df = &gpu->devfreq;
drivers/gpu/drm/msm/msm_gpu_devfreq.c
230
struct msm_gpu_devfreq *df = &gpu->devfreq;
drivers/gpu/drm/msm/msm_gpu_devfreq.c
242
devfreq_resume_device(df->devfreq);
drivers/gpu/drm/msm/msm_gpu_devfreq.c
247
struct msm_gpu_devfreq *df = &gpu->devfreq;
drivers/gpu/drm/msm/msm_gpu_devfreq.c
256
devfreq_suspend_device(df->devfreq);
drivers/gpu/drm/msm/msm_gpu_devfreq.c
272
struct msm_gpu_devfreq *df = &gpu->devfreq;
drivers/gpu/drm/msm/msm_gpu_devfreq.c
296
struct msm_gpu_devfreq *df = &gpu->devfreq;
drivers/gpu/drm/msm/msm_gpu_devfreq.c
312
mutex_lock(&df->devfreq->lock);
drivers/gpu/drm/msm/msm_gpu_devfreq.c
328
mutex_unlock(&df->devfreq->lock);
drivers/gpu/drm/msm/msm_gpu_devfreq.c
345
struct msm_gpu *gpu = container_of(df, struct msm_gpu, devfreq);
drivers/gpu/drm/msm/msm_gpu_devfreq.c
353
mutex_lock(&df->devfreq->lock);
drivers/gpu/drm/msm/msm_gpu_devfreq.c
363
mutex_unlock(&df->devfreq->lock);
drivers/gpu/drm/msm/msm_gpu_devfreq.c
368
struct msm_gpu_devfreq *df = &gpu->devfreq;
drivers/gpu/drm/msm/msm_gpu_devfreq.c
61
struct msm_gpu_devfreq *df = &gpu->devfreq;
drivers/gpu/drm/msm/msm_gpu_devfreq.c
81
struct msm_gpu_devfreq *df = &gpu->devfreq;
drivers/gpu/drm/nouveau/nvkm/subdev/clk/gk20a.c
593
ret = gk20a_devfreq_init(base, &clk->devfreq);
drivers/gpu/drm/nouveau/nvkm/subdev/clk/gk20a.h
121
struct gk20a_devfreq *devfreq;
drivers/gpu/drm/nouveau/nvkm/subdev/clk/gk20a_devfreq.c
290
new_gdevfreq->devfreq = devm_devfreq_add_device(device->dev,
drivers/gpu/drm/nouveau/nvkm/subdev/clk/gk20a_devfreq.c
294
if (IS_ERR(new_gdevfreq->devfreq))
drivers/gpu/drm/nouveau/nvkm/subdev/clk/gk20a_devfreq.c
295
return PTR_ERR(new_gdevfreq->devfreq);
drivers/gpu/drm/nouveau/nvkm/subdev/clk/gk20a_devfreq.c
306
if (!gdevfreq || !gdevfreq->devfreq)
drivers/gpu/drm/nouveau/nvkm/subdev/clk/gk20a_devfreq.c
309
return devfreq_resume_device(gdevfreq->devfreq);
drivers/gpu/drm/nouveau/nvkm/subdev/clk/gk20a_devfreq.c
316
if (!gdevfreq || !gdevfreq->devfreq)
drivers/gpu/drm/nouveau/nvkm/subdev/clk/gk20a_devfreq.c
319
return devfreq_suspend_device(gdevfreq->devfreq);
drivers/gpu/drm/nouveau/nvkm/subdev/clk/gk20a_devfreq.c
57
struct devfreq *devfreq;
drivers/gpu/drm/nouveau/nvkm/subdev/clk/gk20a_devfreq.c
82
case 0x13b: return gp10b_clk(base)->devfreq; break;
drivers/gpu/drm/nouveau/nvkm/subdev/clk/gk20a_devfreq.c
83
default: return gk20a_clk(base)->devfreq; break;
drivers/gpu/drm/nouveau/nvkm/subdev/clk/gk20a_devfreq.h
10
int gk20a_devfreq_init(struct nvkm_clk *base, struct gk20a_devfreq **devfreq);
drivers/gpu/drm/nouveau/nvkm/subdev/clk/gk20a_devfreq.h
15
static inline int gk20a_devfreq_init(struct nvkm_clk *base, struct gk20a_devfreq **devfreq)
drivers/gpu/drm/nouveau/nvkm/subdev/clk/gm20b.c
873
ret = gk20a_devfreq_init(base, &clk->devfreq);
drivers/gpu/drm/nouveau/nvkm/subdev/clk/gp10b.c
27
ret = gk20a_devfreq_init(base, &clk->devfreq);
drivers/gpu/drm/nouveau/nvkm/subdev/clk/gp10b.h
8
struct gk20a_devfreq *devfreq;
drivers/gpu/drm/panfrost/panfrost_devfreq.c
125
struct devfreq *devfreq;
drivers/gpu/drm/panfrost/panfrost_devfreq.c
208
devfreq = devm_devfreq_add_device(dev, &panfrost_devfreq_profile,
drivers/gpu/drm/panfrost/panfrost_devfreq.c
211
if (IS_ERR(devfreq)) {
drivers/gpu/drm/panfrost/panfrost_devfreq.c
213
return PTR_ERR(devfreq);
drivers/gpu/drm/panfrost/panfrost_devfreq.c
215
pfdevfreq->devfreq = devfreq;
drivers/gpu/drm/panfrost/panfrost_devfreq.c
217
cooling = devfreq_cooling_em_register(devfreq, NULL);
drivers/gpu/drm/panfrost/panfrost_devfreq.c
240
if (!pfdevfreq->devfreq)
drivers/gpu/drm/panfrost/panfrost_devfreq.c
245
devfreq_resume_device(pfdevfreq->devfreq);
drivers/gpu/drm/panfrost/panfrost_devfreq.c
252
if (!pfdevfreq->devfreq)
drivers/gpu/drm/panfrost/panfrost_devfreq.c
255
devfreq_suspend_device(pfdevfreq->devfreq);
drivers/gpu/drm/panfrost/panfrost_devfreq.c
262
if (!pfdevfreq->devfreq)
drivers/gpu/drm/panfrost/panfrost_devfreq.c
278
if (!pfdevfreq->devfreq)
drivers/gpu/drm/panfrost/panfrost_devfreq.h
11
struct devfreq;
drivers/gpu/drm/panfrost/panfrost_devfreq.h
17
struct devfreq *devfreq;
drivers/gpu/drm/panfrost/panfrost_devfreq.h
42
void panfrost_devfreq_record_busy(struct panfrost_devfreq *devfreq);
drivers/gpu/drm/panfrost/panfrost_devfreq.h
43
void panfrost_devfreq_record_idle(struct panfrost_devfreq *devfreq);
drivers/gpu/drm/panthor/panthor_devfreq.c
151
pdevfreq = drmm_kzalloc(&ptdev->base, sizeof(*ptdev->devfreq), GFP_KERNEL);
drivers/gpu/drm/panthor/panthor_devfreq.c
155
ptdev->devfreq = pdevfreq;
drivers/gpu/drm/panthor/panthor_devfreq.c
21
struct devfreq *devfreq;
drivers/gpu/drm/panthor/panthor_devfreq.c
249
pdevfreq->devfreq = devm_devfreq_add_device(dev, &panthor_devfreq_profile,
drivers/gpu/drm/panthor/panthor_devfreq.c
252
if (IS_ERR(pdevfreq->devfreq)) {
drivers/gpu/drm/panthor/panthor_devfreq.c
254
ret = PTR_ERR(pdevfreq->devfreq);
drivers/gpu/drm/panthor/panthor_devfreq.c
255
pdevfreq->devfreq = NULL;
drivers/gpu/drm/panthor/panthor_devfreq.c
259
cooling = devfreq_cooling_em_register(pdevfreq->devfreq, NULL);
drivers/gpu/drm/panthor/panthor_devfreq.c
268
struct panthor_devfreq *pdevfreq = ptdev->devfreq;
drivers/gpu/drm/panthor/panthor_devfreq.c
270
if (!pdevfreq->devfreq)
drivers/gpu/drm/panthor/panthor_devfreq.c
275
drm_WARN_ON(&ptdev->base, devfreq_resume_device(pdevfreq->devfreq));
drivers/gpu/drm/panthor/panthor_devfreq.c
280
struct panthor_devfreq *pdevfreq = ptdev->devfreq;
drivers/gpu/drm/panthor/panthor_devfreq.c
282
if (!pdevfreq->devfreq)
drivers/gpu/drm/panthor/panthor_devfreq.c
285
drm_WARN_ON(&ptdev->base, devfreq_suspend_device(pdevfreq->devfreq));
drivers/gpu/drm/panthor/panthor_devfreq.c
290
struct panthor_devfreq *pdevfreq = ptdev->devfreq;
drivers/gpu/drm/panthor/panthor_devfreq.c
293
if (!pdevfreq->devfreq)
drivers/gpu/drm/panthor/panthor_devfreq.c
306
struct panthor_devfreq *pdevfreq = ptdev->devfreq;
drivers/gpu/drm/panthor/panthor_devfreq.c
309
if (!pdevfreq->devfreq)
drivers/gpu/drm/panthor/panthor_devfreq.c
322
struct panthor_devfreq *pdevfreq = ptdev->devfreq;
drivers/gpu/drm/panthor/panthor_devfreq.c
326
if (!pdevfreq->devfreq)
drivers/gpu/drm/panthor/panthor_devfreq.c
329
ret = pdevfreq->devfreq->profile->get_cur_freq(ptdev->base.dev, &freq);
drivers/gpu/drm/panthor/panthor_devfreq.c
90
struct panthor_devfreq *pdevfreq = ptdev->devfreq;
drivers/gpu/drm/panthor/panthor_devfreq.h
7
struct devfreq;
drivers/gpu/drm/panthor/panthor_device.h
158
struct panthor_devfreq *devfreq;
drivers/memory/samsung/exynos5422-dmc.c
155
struct devfreq *df;
drivers/memory/tegra/tegra20-emc.c
1148
struct devfreq *devfreq;
drivers/memory/tegra/tegra20-emc.c
1168
devfreq = devm_devfreq_add_device(emc->dev, &tegra20_emc_devfreq_profile,
drivers/memory/tegra/tegra20-emc.c
1171
if (IS_ERR(devfreq))
drivers/memory/tegra/tegra20-emc.c
1172
return dev_err_probe(emc->dev, PTR_ERR(devfreq),
drivers/powercap/dtpm_devfreq.c
105
mutex_lock(&devfreq->lock);
drivers/powercap/dtpm_devfreq.c
106
status = devfreq->last_status;
drivers/powercap/dtpm_devfreq.c
107
mutex_unlock(&devfreq->lock);
drivers/powercap/dtpm_devfreq.c
147
static int __dtpm_devfreq_setup(struct devfreq *devfreq, struct dtpm *parent)
drivers/powercap/dtpm_devfreq.c
149
struct device *dev = devfreq->dev.parent;
drivers/powercap/dtpm_devfreq.c
169
dtpm_devfreq->devfreq = devfreq;
drivers/powercap/dtpm_devfreq.c
198
struct devfreq *devfreq;
drivers/powercap/dtpm_devfreq.c
200
devfreq = devfreq_get_devfreq_by_node(np);
drivers/powercap/dtpm_devfreq.c
201
if (IS_ERR(devfreq))
drivers/powercap/dtpm_devfreq.c
204
return __dtpm_devfreq_setup(devfreq, dtpm);
drivers/powercap/dtpm_devfreq.c
26
struct devfreq *devfreq;
drivers/powercap/dtpm_devfreq.c
37
struct devfreq *devfreq = dtpm_devfreq->devfreq;
drivers/powercap/dtpm_devfreq.c
38
struct device *dev = devfreq->dev.parent;
drivers/powercap/dtpm_devfreq.c
56
struct devfreq *devfreq = dtpm_devfreq->devfreq;
drivers/powercap/dtpm_devfreq.c
57
struct device *dev = devfreq->dev.parent;
drivers/powercap/dtpm_devfreq.c
96
struct devfreq *devfreq = dtpm_devfreq->devfreq;
drivers/powercap/dtpm_devfreq.c
97
struct device *dev = devfreq->dev.parent;
drivers/thermal/devfreq_cooling.c
148
static unsigned long get_voltage(struct devfreq *df, unsigned long freq)
drivers/thermal/devfreq_cooling.c
194
struct devfreq *df = dfc->devfreq;
drivers/thermal/devfreq_cooling.c
291
struct devfreq *df = dfc->devfreq;
drivers/thermal/devfreq_cooling.c
351
struct devfreq *df = dfc->devfreq;
drivers/thermal/devfreq_cooling.c
393
of_devfreq_cooling_register_power(struct device_node *np, struct devfreq *df,
drivers/thermal/devfreq_cooling.c
409
dfc->devfreq = df;
drivers/thermal/devfreq_cooling.c
490
of_devfreq_cooling_register(struct device_node *np, struct devfreq *df)
drivers/thermal/devfreq_cooling.c
500
struct thermal_cooling_device *devfreq_cooling_register(struct devfreq *df)
drivers/thermal/devfreq_cooling.c
523
devfreq_cooling_em_register(struct devfreq *df,
drivers/thermal/devfreq_cooling.c
53
struct devfreq *devfreq;
drivers/thermal/devfreq_cooling.c
565
dev = dfc->devfreq->dev.parent;
drivers/thermal/devfreq_cooling.c
88
struct devfreq *df = dfc->devfreq;
drivers/ufs/core/ufshcd.c
1236
hba->devfreq->previous_freq);
drivers/ufs/core/ufshcd.c
1513
ufshcd_scale_clks(hba, hba->devfreq->previous_freq,
drivers/ufs/core/ufshcd.c
1539
devfreq_suspend_device(hba->devfreq);
drivers/ufs/core/ufshcd.c
1554
devfreq_resume_device(hba->devfreq);
drivers/ufs/core/ufshcd.c
1694
struct devfreq *devfreq;
drivers/ufs/core/ufshcd.c
1709
devfreq = devfreq_add_device(hba->dev,
drivers/ufs/core/ufshcd.c
1713
if (IS_ERR(devfreq)) {
drivers/ufs/core/ufshcd.c
1714
ret = PTR_ERR(devfreq);
drivers/ufs/core/ufshcd.c
1724
hba->devfreq = devfreq;
drivers/ufs/core/ufshcd.c
1733
if (!hba->devfreq)
drivers/ufs/core/ufshcd.c
1736
devfreq_remove_device(hba->devfreq);
drivers/ufs/core/ufshcd.c
1737
hba->devfreq = NULL;
drivers/ufs/core/ufshcd.c
1765
devfreq_suspend_device(hba->devfreq);
drivers/ufs/core/ufshcd.c
1781
devfreq_resume_device(hba->devfreq);
include/linux/devfreq-governor.h
18
#define to_devfreq(DEV) container_of((DEV), struct devfreq, dev)
include/linux/devfreq-governor.h
73
int (*get_target_freq)(struct devfreq *this, unsigned long *freq);
include/linux/devfreq-governor.h
74
int (*event_handler)(struct devfreq *devfreq,
include/linux/devfreq-governor.h
78
void devfreq_monitor_start(struct devfreq *devfreq);
include/linux/devfreq-governor.h
79
void devfreq_monitor_stop(struct devfreq *devfreq);
include/linux/devfreq-governor.h
80
void devfreq_monitor_suspend(struct devfreq *devfreq);
include/linux/devfreq-governor.h
81
void devfreq_monitor_resume(struct devfreq *devfreq);
include/linux/devfreq-governor.h
82
void devfreq_update_interval(struct devfreq *devfreq, unsigned int *delay);
include/linux/devfreq-governor.h
90
int devfreq_update_status(struct devfreq *devfreq, unsigned long freq);
include/linux/devfreq-governor.h
91
int devfreq_update_target(struct devfreq *devfreq, unsigned long freq);
include/linux/devfreq-governor.h
92
void devfreq_get_freq_range(struct devfreq *devfreq, unsigned long *min_freq,
include/linux/devfreq-governor.h
95
static inline int devfreq_update_stats(struct devfreq *df)
include/linux/devfreq.h
232
struct devfreq *devfreq_add_device(struct device *dev,
include/linux/devfreq.h
236
int devfreq_remove_device(struct devfreq *devfreq);
include/linux/devfreq.h
237
struct devfreq *devm_devfreq_add_device(struct device *dev,
include/linux/devfreq.h
241
void devm_devfreq_remove_device(struct device *dev, struct devfreq *devfreq);
include/linux/devfreq.h
244
int devfreq_suspend_device(struct devfreq *devfreq);
include/linux/devfreq.h
245
int devfreq_resume_device(struct devfreq *devfreq);
include/linux/devfreq.h
251
int update_devfreq(struct devfreq *devfreq);
include/linux/devfreq.h
257
struct devfreq *devfreq);
include/linux/devfreq.h
259
struct devfreq *devfreq);
include/linux/devfreq.h
261
struct devfreq *devfreq);
include/linux/devfreq.h
263
struct devfreq *devfreq);
include/linux/devfreq.h
264
int devfreq_register_notifier(struct devfreq *devfreq,
include/linux/devfreq.h
267
int devfreq_unregister_notifier(struct devfreq *devfreq,
include/linux/devfreq.h
271
struct devfreq *devfreq,
include/linux/devfreq.h
275
struct devfreq *devfreq,
include/linux/devfreq.h
278
struct devfreq *devfreq_get_devfreq_by_node(struct device_node *node);
include/linux/devfreq.h
279
struct devfreq *devfreq_get_devfreq_by_phandle(struct device *dev,
include/linux/devfreq.h
330
struct devfreq *parent;
include/linux/devfreq.h
333
int (*get_target_freq)(struct devfreq *this, unsigned long *freq);
include/linux/devfreq.h
339
struct devfreq *this;
include/linux/devfreq.h
345
static inline struct devfreq *devfreq_add_device(struct device *dev,
include/linux/devfreq.h
353
static inline int devfreq_remove_device(struct devfreq *devfreq)
include/linux/devfreq.h
358
static inline struct devfreq *devm_devfreq_add_device(struct device *dev,
include/linux/devfreq.h
367
struct devfreq *devfreq)
include/linux/devfreq.h
371
static inline int devfreq_suspend_device(struct devfreq *devfreq)
include/linux/devfreq.h
376
static inline int devfreq_resume_device(struct devfreq *devfreq)
include/linux/devfreq.h
39
struct devfreq;
include/linux/devfreq.h
391
struct devfreq *devfreq)
include/linux/devfreq.h
397
struct devfreq *devfreq)
include/linux/devfreq.h
403
struct devfreq *devfreq)
include/linux/devfreq.h
409
struct devfreq *devfreq)
include/linux/devfreq.h
413
static inline int devfreq_register_notifier(struct devfreq *devfreq,
include/linux/devfreq.h
420
static inline int devfreq_unregister_notifier(struct devfreq *devfreq,
include/linux/devfreq.h
428
struct devfreq *devfreq,
include/linux/devfreq.h
436
struct devfreq *devfreq,
include/linux/devfreq.h
442
static inline struct devfreq *devfreq_get_devfreq_by_node(struct device_node *node)
include/linux/devfreq.h
447
static inline struct devfreq *devfreq_get_devfreq_by_phandle(struct device *dev,
include/linux/devfreq.h
453
static inline int devfreq_update_stats(struct devfreq *df)
include/linux/devfreq_cooling.h
38
int (*get_real_power)(struct devfreq *df, u32 *power,
include/linux/devfreq_cooling.h
45
of_devfreq_cooling_register_power(struct device_node *np, struct devfreq *df,
include/linux/devfreq_cooling.h
48
of_devfreq_cooling_register(struct device_node *np, struct devfreq *df);
include/linux/devfreq_cooling.h
49
struct thermal_cooling_device *devfreq_cooling_register(struct devfreq *df);
include/linux/devfreq_cooling.h
52
devfreq_cooling_em_register(struct devfreq *df,
include/linux/devfreq_cooling.h
58
of_devfreq_cooling_register_power(struct device_node *np, struct devfreq *df,
include/linux/devfreq_cooling.h
65
of_devfreq_cooling_register(struct device_node *np, struct devfreq *df)
include/linux/devfreq_cooling.h
71
devfreq_cooling_register(struct devfreq *df)
include/linux/devfreq_cooling.h
77
devfreq_cooling_em_register(struct devfreq *df,
include/trace/events/devfreq.h
12
TP_PROTO(struct devfreq *devfreq, unsigned long freq,
include/trace/events/devfreq.h
15
TP_ARGS(devfreq, freq, prev_freq),
include/trace/events/devfreq.h
18
__string(dev_name, dev_name(&devfreq->dev))
include/trace/events/devfreq.h
29
__entry->busy_time = devfreq->last_status.busy_time;
include/trace/events/devfreq.h
3
#define TRACE_SYSTEM devfreq
include/trace/events/devfreq.h
30
__entry->total_time = devfreq->last_status.total_time;
include/trace/events/devfreq.h
40
TP_PROTO(struct devfreq *devfreq),
include/trace/events/devfreq.h
42
TP_ARGS(devfreq),
include/trace/events/devfreq.h
49
__string(dev_name, dev_name(&devfreq->dev))
include/trace/events/devfreq.h
53
__entry->freq = devfreq->previous_freq;
include/trace/events/devfreq.h
54
__entry->busy_time = devfreq->last_status.busy_time;
include/trace/events/devfreq.h
55
__entry->total_time = devfreq->last_status.total_time;
include/trace/events/devfreq.h
56
__entry->polling_ms = devfreq->profile->polling_ms;
include/ufs/ufshcd.h
1065
struct devfreq *devfreq;