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#include <linux/kernel.h>
  14#include <linux/module.h>
  15#include <linux/cpufreq.h>
  16#include <linux/init.h>
  17
  18#define dprintk(msg...) \
  19        cpufreq_debug_printk(CPUFREQ_DEBUG_GOVERNOR, "performance", msg)
  20
  21
  22static int cpufreq_governor_performance(struct cpufreq_policy *policy,
  23                                        unsigned int event)
  24{
  25        switch (event) {
  26        case CPUFREQ_GOV_START:
  27        case CPUFREQ_GOV_LIMITS:
  28                dprintk("setting to %u kHz because of event %u\n",
  29                                                policy->max, event);
  30                __cpufreq_driver_target(policy, policy->max,
  31                                                CPUFREQ_RELATION_H);
  32                break;
  33        default:
  34                break;
  35        }
  36        return 0;
  37}
  38
  39#ifdef CONFIG_CPU_FREQ_GOV_PERFORMANCE_MODULE
  40static
  41#endif
  42struct cpufreq_governor cpufreq_gov_performance = {
  43        .name           = "performance",
  44        .governor       = cpufreq_governor_performance,
  45        .owner          = THIS_MODULE,
  46};
  47
  48
  49static int __init cpufreq_gov_performance_init(void)
  50{
  51        return cpufreq_register_governor(&cpufreq_gov_performance);
  52}
  53
  54
  55static void __exit cpufreq_gov_performance_exit(void)
  56{
  57        cpufreq_unregister_governor(&cpufreq_gov_performance);
  58}
  59
  60
  61MODULE_AUTHOR("Dominik Brodowski <linux@brodo.de>");
  62MODULE_DESCRIPTION("CPUfreq policy governor 'performance'");
  63MODULE_LICENSE("GPL");
  64
  65fs_initcall(cpufreq_gov_performance_init);
  66module_exit(cpufreq_gov_performance_exit);
  67