pcpu->cpu_timer.data = i;
}
+ spin_lock_init(&up_cpumask_lock);
+ spin_lock_init(&down_cpumask_lock);
+ mutex_init(&set_speed_lock);
+
up_task = kthread_create(cpufreq_interactive_up_task, NULL,
"kinteractiveup");
if (IS_ERR(up_task))
if (!down_wq)
goto err_freeuptask;
- INIT_WORK(&freq_scale_down_work,
- cpufreq_interactive_freq_down);
+ INIT_WORK(&freq_scale_down_work, cpufreq_interactive_freq_down);
+ INIT_WORK(&inputopen.inputopen_work, cpufreq_interactive_input_open);
- spin_lock_init(&up_cpumask_lock);
- spin_lock_init(&down_cpumask_lock);
- mutex_init(&set_speed_lock);
+ /* NB: wake up so the thread does not look hung to the freezer */
+ wake_up_process(up_task);
- INIT_WORK(&inputopen.inputopen_work, cpufreq_interactive_input_open);
return cpufreq_register_governor(&cpufreq_gov_interactive);
err_freeuptask: