Lines Matching refs:devfreq
17 #include <linux/devfreq.h>
19 #include <linux/devfreq-event.h>
497 if (dmcfreq->info.devfreq) {
498 struct devfreq *devfreq = dmcfreq->info.devfreq;
500 devfreq->last_status.current_frequency = *freq;
561 static inline void reset_last_status(struct devfreq *devfreq)
563 devfreq->last_status.total_time = 1;
564 devfreq->last_status.busy_time = 1;
2312 struct devfreq *devfreq = dmcfreq->info.devfreq;
2314 mutex_lock(&devfreq->lock);
2315 update_devfreq(devfreq);
2316 mutex_unlock(&devfreq->lock);
2338 devfreq_monitor_stop(dmcfreq->info.devfreq);
2496 static int devfreq_dmc_ondemand_func(struct devfreq *df,
2593 static int devfreq_dmc_ondemand_handler(struct devfreq *devfreq,
2596 struct rockchip_dmcfreq *dmcfreq = dev_get_drvdata(devfreq->dev.parent);
2603 devfreq_monitor_start(devfreq);
2607 devfreq_monitor_stop(devfreq);
2611 devfreq_update_interval(devfreq, (unsigned int *)data);
2615 devfreq_monitor_suspend(devfreq);
2619 devfreq_monitor_resume(devfreq);
2646 "failed to enable devfreq-event\n");
2665 "failed to disable devfreq-event\n");
2694 count = devfreq_event_get_edev_count(dev, "devfreq-events");
2696 dev_dbg(dev, "failed to get count of devfreq-event dev\n");
2700 events_np = of_parse_phandle(np, "devfreq-events", i);
2708 dev_dbg(dev, "failed to get available devfreq-event\n");
2719 events_np = of_parse_phandle(np, "devfreq-events", i);
2729 devfreq_event_get_edev_by_phandle(dev, "devfreq-events", i);
2865 struct devfreq *devfreq;
2876 devfreq = devm_devfreq_add_device(dev, devp, "dmc_ondemand",
2878 if (IS_ERR(devfreq)) {
2879 dev_err(dev, "failed to add devfreq\n");
2880 return PTR_ERR(devfreq);
2883 devm_devfreq_register_opp_notifier(dev, devfreq);
2885 devfreq->last_status.current_frequency = opp_rate;
2887 reset_last_status(devfreq);
2889 dmcfreq->info.devfreq = devfreq;
2913 dmc_mdevp.data = dmcfreq->info.devfreq;
2924 struct devfreq *devfreq = dmcfreq->info.devfreq;
2926 if (sysfs_create_file(&devfreq->dev.kobj, &dev_attr_upthreshold.attr))
2929 if (sysfs_create_file(&devfreq->dev.kobj,
2934 if (!rockchip_add_system_status_interface(&devfreq->dev))
2936 if (sysfs_create_file(&devfreq->dev.kobj,
3046 static unsigned long model_static_power(struct devfreq *devfreq,
3049 struct device *dev = devfreq->dev.parent;
3155 dmcfreq->info.devfreq,
3198 dev_info(dev, "don't add devfreq feature\n");
3240 ret = devfreq_suspend_device(dmcfreq->info.devfreq);
3242 dev_err(dev, "failed to suspend the devfreq devices\n");
3261 ret = devfreq_resume_device(dmcfreq->info.devfreq);
3263 dev_err(dev, "failed to resume the devfreq devices\n");
3282 MODULE_DESCRIPTION("rockchip dmcfreq driver with devfreq framework");