#include <linux/clk.h>
#include <linux/devfreq.h>
#include <linux/devfreq_cooling.h>
#include <linux/platform_device.h>
#include <linux/pm_opp.h>
#include <drm/drm_managed.h>
#include "panthor_devfreq.h"
#include "panthor_device.h"
struct panthor_devfreq { … };
static void panthor_devfreq_update_utilization(struct panthor_devfreq *pdevfreq)
{ … }
static int panthor_devfreq_target(struct device *dev, unsigned long *freq,
u32 flags)
{ … }
static void panthor_devfreq_reset(struct panthor_devfreq *pdevfreq)
{ … }
static int panthor_devfreq_get_dev_status(struct device *dev,
struct devfreq_dev_status *status)
{ … }
static struct devfreq_dev_profile panthor_devfreq_profile = …;
int panthor_devfreq_init(struct panthor_device *ptdev)
{ … }
int panthor_devfreq_resume(struct panthor_device *ptdev)
{ … }
int panthor_devfreq_suspend(struct panthor_device *ptdev)
{ … }
void panthor_devfreq_record_busy(struct panthor_device *ptdev)
{ … }
void panthor_devfreq_record_idle(struct panthor_device *ptdev)
{ … }