Branch data Line data Source code
1 : : // SPDX-License-Identifier: GPL-2.0-only 2 : : /* 3 : : * linux/drivers/cpufreq/cpufreq_performance.c 4 : : * 5 : : * Copyright (C) 2002 - 2003 Dominik Brodowski <linux@brodo.de> 6 : : */ 7 : : 8 : : #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt 9 : : 10 : : #include <linux/cpufreq.h> 11 : : #include <linux/init.h> 12 : : #include <linux/module.h> 13 : : 14 : 0 : static void cpufreq_gov_performance_limits(struct cpufreq_policy *policy) 15 : : { 16 : 0 : pr_debug("setting to %u kHz\n", policy->max); 17 : 0 : __cpufreq_driver_target(policy, policy->max, CPUFREQ_RELATION_H); 18 : 0 : } 19 : : 20 : : static struct cpufreq_governor cpufreq_gov_performance = { 21 : : .name = "performance", 22 : : .owner = THIS_MODULE, 23 : : .limits = cpufreq_gov_performance_limits, 24 : : }; 25 : : 26 : 21 : static int __init cpufreq_gov_performance_init(void) 27 : : { 28 : 21 : return cpufreq_register_governor(&cpufreq_gov_performance); 29 : : } 30 : : 31 : 0 : static void __exit cpufreq_gov_performance_exit(void) 32 : : { 33 : 0 : cpufreq_unregister_governor(&cpufreq_gov_performance); 34 : 0 : } 35 : : 36 : : #ifdef CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE 37 : : struct cpufreq_governor *cpufreq_default_governor(void) 38 : : { 39 : : return &cpufreq_gov_performance; 40 : : } 41 : : #endif 42 : : #ifndef CONFIG_CPU_FREQ_GOV_PERFORMANCE_MODULE 43 : 0 : struct cpufreq_governor *cpufreq_fallback_governor(void) 44 : : { 45 : 0 : return &cpufreq_gov_performance; 46 : : } 47 : : #endif 48 : : 49 : : MODULE_AUTHOR("Dominik Brodowski <linux@brodo.de>"); 50 : : MODULE_DESCRIPTION("CPUfreq policy governor 'performance'"); 51 : : MODULE_LICENSE("GPL"); 52 : : 53 : : core_initcall(cpufreq_gov_performance_init); 54 : : module_exit(cpufreq_gov_performance_exit);