Path: blob/master/drivers/cpufreq/cpufreq_powersave.c
15109 views
/*1* linux/drivers/cpufreq/cpufreq_powersave.c2*3* Copyright (C) 2002 - 2003 Dominik Brodowski <[email protected]>4*5*6* This program is free software; you can redistribute it and/or modify7* it under the terms of the GNU General Public License version 2 as8* published by the Free Software Foundation.9*10*/1112#include <linux/kernel.h>13#include <linux/module.h>14#include <linux/cpufreq.h>15#include <linux/init.h>1617static int cpufreq_governor_powersave(struct cpufreq_policy *policy,18unsigned int event)19{20switch (event) {21case CPUFREQ_GOV_START:22case CPUFREQ_GOV_LIMITS:23pr_debug("setting to %u kHz because of event %u\n",24policy->min, event);25__cpufreq_driver_target(policy, policy->min,26CPUFREQ_RELATION_L);27break;28default:29break;30}31return 0;32}3334#ifndef CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE35static36#endif37struct cpufreq_governor cpufreq_gov_powersave = {38.name = "powersave",39.governor = cpufreq_governor_powersave,40.owner = THIS_MODULE,41};4243static int __init cpufreq_gov_powersave_init(void)44{45return cpufreq_register_governor(&cpufreq_gov_powersave);46}474849static void __exit cpufreq_gov_powersave_exit(void)50{51cpufreq_unregister_governor(&cpufreq_gov_powersave);52}535455MODULE_AUTHOR("Dominik Brodowski <[email protected]>");56MODULE_DESCRIPTION("CPUfreq policy governor 'powersave'");57MODULE_LICENSE("GPL");5859#ifdef CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE60fs_initcall(cpufreq_gov_powersave_init);61#else62module_init(cpufreq_gov_powersave_init);63#endif64module_exit(cpufreq_gov_powersave_exit);656667