]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/cpufreq/dbx500-cpufreq.c
cpufreq: e_powersaver: don't initialize part of policy set by core
[karo-tx-linux.git] / drivers / cpufreq / dbx500-cpufreq.c
index 26321cdc19464f1cd3b23f7bf6575d5d97fa6ffc..ae1aa60b138afc0f419eb33cebf0e58ee6f992e9 100644 (file)
 static struct cpufreq_frequency_table *freq_table;
 static struct clk *armss_clk;
 
-static struct freq_attr *dbx500_cpufreq_attr[] = {
-       &cpufreq_freq_attr_scaling_available_freqs,
-       NULL,
-};
-
-static int dbx500_cpufreq_verify_speed(struct cpufreq_policy *policy)
-{
-       return cpufreq_frequency_table_verify(policy, freq_table);
-}
-
 static int dbx500_cpufreq_target(struct cpufreq_policy *policy,
                                unsigned int target_freq,
                                unsigned int relation)
@@ -87,19 +77,12 @@ static int dbx500_cpufreq_init(struct cpufreq_policy *policy)
        int res;
 
        /* get policy fields based on the table */
-       res = cpufreq_frequency_table_cpuinfo(policy, freq_table);
-       if (!res)
-               cpufreq_frequency_table_get_attr(freq_table, policy->cpu);
-       else {
+       res = cpufreq_table_validate_and_show(policy, freq_table);
+       if (res) {
                pr_err("dbx500-cpufreq: Failed to read policy table\n");
                return res;
        }
 
-       policy->min = policy->cpuinfo.min_freq;
-       policy->max = policy->cpuinfo.max_freq;
-       policy->cur = dbx500_cpufreq_getspeed(policy->cpu);
-       policy->governor = CPUFREQ_DEFAULT_GOVERNOR;
-
        /*
         * FIXME : Need to take time measurement across the target()
         *         function with no/some/all drivers in the notification
@@ -115,12 +98,12 @@ static int dbx500_cpufreq_init(struct cpufreq_policy *policy)
 
 static struct cpufreq_driver dbx500_cpufreq_driver = {
        .flags  = CPUFREQ_STICKY | CPUFREQ_CONST_LOOPS,
-       .verify = dbx500_cpufreq_verify_speed,
+       .verify = cpufreq_generic_frequency_table_verify,
        .target = dbx500_cpufreq_target,
        .get    = dbx500_cpufreq_getspeed,
        .init   = dbx500_cpufreq_init,
        .name   = "DBX500",
-       .attr   = dbx500_cpufreq_attr,
+       .attr   = cpufreq_generic_attr,
 };
 
 static int dbx500_cpufreq_probe(struct platform_device *pdev)