#include <linux/module.h>
#include <linux/cpu.h>
#include <linux/cpufreq.h>
#include <linux/cpumask.h>
#include <linux/slab.h>
#include <linux/device.h>
#include <linux/devfreq.h>
#include <linux/units.h>
#include "governor.h"
static struct devfreq_cpu_data *
get_parent_cpu_data(struct devfreq_passive_data *p_data,
struct cpufreq_policy *policy)
{ … }
static void delete_parent_cpu_data(struct devfreq_passive_data *p_data)
{ … }
static unsigned long get_target_freq_by_required_opp(struct device *p_dev,
struct opp_table *p_opp_table,
struct opp_table *opp_table,
unsigned long *freq)
{ … }
static int get_target_freq_with_cpufreq(struct devfreq *devfreq,
unsigned long *target_freq)
{ … }
static int get_target_freq_with_devfreq(struct devfreq *devfreq,
unsigned long *freq)
{ … }
static int devfreq_passive_get_target_freq(struct devfreq *devfreq,
unsigned long *freq)
{ … }
static int cpufreq_passive_notifier_call(struct notifier_block *nb,
unsigned long event, void *ptr)
{ … }
static int cpufreq_passive_unregister_notifier(struct devfreq *devfreq)
{ … }
static int cpufreq_passive_register_notifier(struct devfreq *devfreq)
{ … }
static int devfreq_passive_notifier_call(struct notifier_block *nb,
unsigned long event, void *ptr)
{ … }
static int devfreq_passive_unregister_notifier(struct devfreq *devfreq)
{ … }
static int devfreq_passive_register_notifier(struct devfreq *devfreq)
{ … }
static int devfreq_passive_event_handler(struct devfreq *devfreq,
unsigned int event, void *data)
{ … }
static struct devfreq_governor devfreq_passive = …;
static int __init devfreq_passive_init(void)
{ … }
subsys_initcall(devfreq_passive_init);
static void __exit devfreq_passive_exit(void)
{ … }
module_exit(devfreq_passive_exit);
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;