1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- /*
- * linux/drivers/cpufreq/cpufreq_powersave.c
- *
- * Copyright (C) 2002 - 2003 Dominik Brodowski <linux@brodo.de>
- *
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- */
- #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
- #include <linux/cpufreq.h>
- #include <linux/init.h>
- #include <linux/module.h>
- static void cpufreq_gov_powersave_limits(struct cpufreq_policy *policy)
- {
- pr_debug("setting to %u kHz\n", policy->min);
- __cpufreq_driver_target(policy, policy->min, CPUFREQ_RELATION_L);
- }
- static struct cpufreq_governor cpufreq_gov_powersave = {
- .name = "powersave",
- .limits = cpufreq_gov_powersave_limits,
- .owner = THIS_MODULE,
- };
- static int __init cpufreq_gov_powersave_init(void)
- {
- return cpufreq_register_governor(&cpufreq_gov_powersave);
- }
- static void __exit cpufreq_gov_powersave_exit(void)
- {
- cpufreq_unregister_governor(&cpufreq_gov_powersave);
- }
- MODULE_AUTHOR("Dominik Brodowski <linux@brodo.de>");
- MODULE_DESCRIPTION("CPUfreq policy governor 'powersave'");
- MODULE_LICENSE("GPL");
- #ifdef CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE
- struct cpufreq_governor *cpufreq_default_governor(void)
- {
- return &cpufreq_gov_powersave;
- }
- fs_initcall(cpufreq_gov_powersave_init);
- #else
- module_init(cpufreq_gov_powersave_init);
- #endif
- module_exit(cpufreq_gov_powersave_exit);
|