Loading drivers/cpufreq/qcom-cpufreq.c +22 −3 Original line number Diff line number Diff line Loading @@ -294,6 +294,10 @@ static int msm_cpufreq_cpu_callback(struct notifier_block *nfb, unsigned int cpu = (unsigned long)hcpu; int rc; /* Fail hotplug until this driver can get CPU clocks */ if (!cpu_clk[0]) return NOTIFY_BAD; switch (action & ~CPU_TASKS_FROZEN) { case CPU_ONLINE: per_cpu(cpufreq_suspend, cpu).device_suspended = 0; Loading Loading @@ -587,18 +591,33 @@ static struct platform_driver msm_cpufreq_plat_driver = { static int __init msm_cpufreq_register(void) { int cpu; int cpu, rc; for_each_possible_cpu(cpu) { mutex_init(&(per_cpu(cpufreq_suspend, cpu).suspend_mutex)); per_cpu(cpufreq_suspend, cpu).device_suspended = 0; } platform_driver_probe(&msm_cpufreq_plat_driver, msm_cpufreq_probe); rc = platform_driver_probe(&msm_cpufreq_plat_driver, msm_cpufreq_probe); if (rc < 0) { /* Unblock hotplug if msm-cpufreq probe fails */ unregister_hotcpu_notifier(&msm_cpufreq_cpu_notifier); for_each_possible_cpu(cpu) mutex_destroy(&(per_cpu(cpufreq_suspend, cpu). suspend_mutex)); return rc; } msm_cpufreq_wq = alloc_workqueue("msm-cpufreq", WQ_HIGHPRI, 0); register_hotcpu_notifier(&msm_cpufreq_cpu_notifier); register_pm_notifier(&msm_cpufreq_pm_notifier); return cpufreq_register_driver(&msm_cpufreq_driver); } subsys_initcall(msm_cpufreq_register); static int __init msm_cpufreq_early_register(void) { return register_hotcpu_notifier(&msm_cpufreq_cpu_notifier); } core_initcall(msm_cpufreq_early_register); Loading
drivers/cpufreq/qcom-cpufreq.c +22 −3 Original line number Diff line number Diff line Loading @@ -294,6 +294,10 @@ static int msm_cpufreq_cpu_callback(struct notifier_block *nfb, unsigned int cpu = (unsigned long)hcpu; int rc; /* Fail hotplug until this driver can get CPU clocks */ if (!cpu_clk[0]) return NOTIFY_BAD; switch (action & ~CPU_TASKS_FROZEN) { case CPU_ONLINE: per_cpu(cpufreq_suspend, cpu).device_suspended = 0; Loading Loading @@ -587,18 +591,33 @@ static struct platform_driver msm_cpufreq_plat_driver = { static int __init msm_cpufreq_register(void) { int cpu; int cpu, rc; for_each_possible_cpu(cpu) { mutex_init(&(per_cpu(cpufreq_suspend, cpu).suspend_mutex)); per_cpu(cpufreq_suspend, cpu).device_suspended = 0; } platform_driver_probe(&msm_cpufreq_plat_driver, msm_cpufreq_probe); rc = platform_driver_probe(&msm_cpufreq_plat_driver, msm_cpufreq_probe); if (rc < 0) { /* Unblock hotplug if msm-cpufreq probe fails */ unregister_hotcpu_notifier(&msm_cpufreq_cpu_notifier); for_each_possible_cpu(cpu) mutex_destroy(&(per_cpu(cpufreq_suspend, cpu). suspend_mutex)); return rc; } msm_cpufreq_wq = alloc_workqueue("msm-cpufreq", WQ_HIGHPRI, 0); register_hotcpu_notifier(&msm_cpufreq_cpu_notifier); register_pm_notifier(&msm_cpufreq_pm_notifier); return cpufreq_register_driver(&msm_cpufreq_driver); } subsys_initcall(msm_cpufreq_register); static int __init msm_cpufreq_early_register(void) { return register_hotcpu_notifier(&msm_cpufreq_cpu_notifier); } core_initcall(msm_cpufreq_early_register);