return -EINVAL;
}
- freqs.old = sa11x0_getspeed();
+ freqs.old = sa11x0_getspeed(0);
freqs.new = sa11x0_ppcr_to_freq(ppcr);
freqs.cpu = 0;
*/
sdram_set_refresh(2);
if (!irqs_disabled()) {
- set_current_state(TASK_UNINTERRUPTIBLE);
- schedule_timeout(20 * HZ / 1000);
+ msleep(20);
} else {
mdelay(20);
}
{
if (policy->cpu != 0)
return -EINVAL;
- policy->cur = policy->min = policy->max = sa11x0_getspeed();
+ policy->cur = policy->min = policy->max = sa11x0_getspeed(0);
policy->governor = CPUFREQ_DEFAULT_GOVERNOR;
policy->cpuinfo.min_freq = 59000;
policy->cpuinfo.max_freq = 287000;
}
static struct cpufreq_driver sa1110_driver = {
+ .flags = CPUFREQ_STICKY,
.verify = sa11x0_verify_speed,
.target = sa1110_target,
+ .get = sa11x0_getspeed,
.init = sa1110_cpu_init,
.name = "sa1110",
};
sdram->tck, sdram->trcd, sdram->trp,
sdram->twr, sdram->refresh, sdram->cas_latency);
- cpufreq_gov_userspace_init();
-
memcpy(&sdram_params, sdram, sizeof(sdram_params));
return cpufreq_register_driver(&sa1110_driver);