linux/drivers/cpufreq/cpufreq_performance.c
<<
>>
Prefs
   1/*
   2 *  linux/drivers/cpufreq/cpufreq_performance.c
   3 *
   4 *  Copyright (C) 2002 - 2003 Dominik Brodowski <linux@brodo.de>
   5 *
   6 *
   7 * This program is free software; you can redistribute it and/or modify
   8 * it under the terms of the GNU General Public License version 2 as
   9 * published by the Free Software Foundation.
  10 *
  11 */
  12
  13#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
  14
  15#include <linux/cpufreq.h>
  16#include <linux/init.h>
  17#include <linux/module.h>
  18
  19static void cpufreq_gov_performance_limits(struct cpufreq_policy *policy)
  20{
  21        pr_debug("setting to %u kHz\n", policy->max);
  22        __cpufreq_driver_target(policy, policy->max, CPUFREQ_RELATION_H);
  23}
  24
  25static struct cpufreq_governor cpufreq_gov_performance = {
  26        .name           = "performance",
  27        .owner          = THIS_MODULE,
  28        .limits         = cpufreq_gov_performance_limits,
  29};
  30
  31static int __init cpufreq_gov_performance_init(void)
  32{
  33        return cpufreq_register_governor(&cpufreq_gov_performance);
  34}
  35
  36static void __exit cpufreq_gov_performance_exit(void)
  37{
  38        cpufreq_unregister_governor(&cpufreq_gov_performance);
  39}
  40
  41#ifdef CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE
  42struct cpufreq_governor *cpufreq_default_governor(void)
  43{
  44        return &cpufreq_gov_performance;
  45}
  46#endif
  47#ifndef CONFIG_CPU_FREQ_GOV_PERFORMANCE_MODULE
  48struct cpufreq_governor *cpufreq_fallback_governor(void)
  49{
  50        return &cpufreq_gov_performance;
  51}
  52#endif
  53
  54MODULE_AUTHOR("Dominik Brodowski <linux@brodo.de>");
  55MODULE_DESCRIPTION("CPUfreq policy governor 'performance'");
  56MODULE_LICENSE("GPL");
  57
  58fs_initcall(cpufreq_gov_performance_init);
  59module_exit(cpufreq_gov_performance_exit);
  60