#define pr_fmt(fmt) …
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/sched.h>
#include <linux/init.h>
#include <linux/cpufreq.h>
#include <linux/err.h>
#include <linux/regulator/consumer.h>
#include <linux/soc/pxa/cpu.h>
#include <linux/io.h>
#ifdef DEBUG
static unsigned int freq_debug;
module_param(freq_debug, uint, 0);
MODULE_PARM_DESC(freq_debug, "Set the debug messages to on=1/off=0");
#else
#define freq_debug …
#endif
static struct regulator *vcc_core;
static unsigned int pxa27x_maxfreq;
module_param(pxa27x_maxfreq, uint, 0);
MODULE_PARM_DESC(…) …;
struct pxa_cpufreq_data { … };
static struct pxa_cpufreq_data pxa_cpufreq_data;
struct pxa_freqs { … };
static const struct pxa_freqs pxa255_run_freqs[] = …;
static const struct pxa_freqs pxa255_turbo_freqs[] = …;
#define NUM_PXA25x_RUN_FREQS …
#define NUM_PXA25x_TURBO_FREQS …
static struct cpufreq_frequency_table
pxa255_run_freq_table[NUM_PXA25x_RUN_FREQS+1];
static struct cpufreq_frequency_table
pxa255_turbo_freq_table[NUM_PXA25x_TURBO_FREQS+1];
static unsigned int pxa255_turbo_table;
module_param(pxa255_turbo_table, uint, 0);
MODULE_PARM_DESC(…) …;
static struct pxa_freqs pxa27x_freqs[] = …;
#define NUM_PXA27x_FREQS …
static struct cpufreq_frequency_table
pxa27x_freq_table[NUM_PXA27x_FREQS+1];
#ifdef CONFIG_REGULATOR
static int pxa_cpufreq_change_voltage(const struct pxa_freqs *pxa_freq)
{ … }
static void pxa_cpufreq_init_voltages(void)
{ … }
#else
static int pxa_cpufreq_change_voltage(const struct pxa_freqs *pxa_freq)
{
return 0;
}
static void pxa_cpufreq_init_voltages(void) { }
#endif
static void find_freq_tables(struct cpufreq_frequency_table **freq_table,
const struct pxa_freqs **pxa_freqs)
{ … }
static void pxa27x_guess_max_freq(void)
{ … }
static unsigned int pxa_cpufreq_get(unsigned int cpu)
{ … }
static int pxa_set_target(struct cpufreq_policy *policy, unsigned int idx)
{ … }
static int pxa_cpufreq_init(struct cpufreq_policy *policy)
{ … }
static struct cpufreq_driver pxa_cpufreq_driver = …;
static int __init pxa_cpu_init(void)
{ … }
static void __exit pxa_cpu_exit(void)
{ … }
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
module_init(…) …;
module_exit(pxa_cpu_exit);