Something went wrong. Try again.
(I'm so sorry!) Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263// SPDX-License-Identifier: GPL-2.0-only/* * linux/drivers/devfreq/governor_performance.c * * Copyright (C) 2011 Samsung Electronics * MyungJoo Ham <myungjoo.ham@samsung.com> */
#include <linux/devfreq.h>#include <linux/devfreq-governor.h>#include <linux/module.h>
static int devfreq_performance_func(struct devfreq *df, unsigned long *freq){ /* * target callback should be able to get floor value as * said in devfreq.h */ *freq = DEVFREQ_MAX_FREQ; return 0;}
static int devfreq_performance_handler(struct devfreq *devfreq, unsigned int event, void *data){ int ret = 0;
if (event == DEVFREQ_GOV_START) { mutex_lock(&devfreq->lock); ret = update_devfreq(devfreq); mutex_unlock(&devfreq->lock); }
return ret;}
static struct devfreq_governor devfreq_performance = { .name = DEVFREQ_GOV_PERFORMANCE, .get_target_freq = devfreq_performance_func, .event_handler = devfreq_performance_handler,};
static int __init devfreq_performance_init(void){ return devfreq_add_governor(&devfreq_performance);}subsys_initcall(devfreq_performance_init);
static void __exit devfreq_performance_exit(void){ int ret;
ret = devfreq_remove_governor(&devfreq_performance); if (ret) pr_err("%s: failed remove governor %d\n", __func__, ret);
return;}module_exit(devfreq_performance_exit);MODULE_DESCRIPTION("DEVFREQ Performance governor");MODULE_LICENSE("GPL");