aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/idle/intel_idle.c
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>2013-12-20 13:47:29 -0500
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2014-01-10 19:26:49 -0500
commit4955a5412cad83da6e994d939bdb4f7887e4585e (patch)
treecdf8df2b5a1e68352b9b96ef089d7decf19617ef /drivers/idle/intel_idle.c
parentdbf87ab89fbd14b723b7282de635bc70f4996342 (diff)
intel_idle: remove superfluous dev->state_count initialization
intel_idle driver sets dev->state_count to drv->state_count so the default dev->state_count initialization in cpuidle_enable_device() (called from cpuidle_register_device()) can be used instead. Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Cc: Len Brown <lenb@kernel.org> Reviewed-by: Daniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/idle/intel_idle.c')
-rw-r--r--drivers/idle/intel_idle.c29
1 files changed, 0 insertions, 29 deletions
diff --git a/drivers/idle/intel_idle.c b/drivers/idle/intel_idle.c
index 920232ffb282..282186e53290 100644
--- a/drivers/idle/intel_idle.c
+++ b/drivers/idle/intel_idle.c
@@ -644,39 +644,10 @@ static int __init intel_idle_cpuidle_driver_init(void)
644 */ 644 */
645static int intel_idle_cpu_init(int cpu) 645static int intel_idle_cpu_init(int cpu)
646{ 646{
647 int cstate;
648 struct cpuidle_device *dev; 647 struct cpuidle_device *dev;
649 648
650 dev = per_cpu_ptr(intel_idle_cpuidle_devices, cpu); 649 dev = per_cpu_ptr(intel_idle_cpuidle_devices, cpu);
651 650
652 dev->state_count = 1;
653
654 for (cstate = 0; cstate < CPUIDLE_STATE_MAX; ++cstate) {
655 int num_substates, mwait_hint, mwait_cstate, mwait_substate;
656
657 if (cpuidle_state_table[cstate].enter == NULL)
658 break;
659
660 if (cstate + 1 > max_cstate) {
661 printk(PREFIX "max_cstate %d reached\n", max_cstate);
662 break;
663 }
664
665 mwait_hint = flg2MWAIT(cpuidle_state_table[cstate].flags);
666 mwait_cstate = MWAIT_HINT2CSTATE(mwait_hint);
667 mwait_substate = MWAIT_HINT2SUBSTATE(mwait_hint);
668
669 /* does the state exist in CPUID.MWAIT? */
670 num_substates = (mwait_substates >> ((mwait_cstate + 1) * 4))
671 & MWAIT_SUBSTATE_MASK;
672
673 /* if sub-state in table is not enumerated by CPUID */
674 if ((mwait_substate + 1) > num_substates)
675 continue;
676
677 dev->state_count += 1;
678 }
679
680 dev->cpu = cpu; 651 dev->cpu = cpu;
681 652
682 if (cpuidle_register_device(dev)) { 653 if (cpuidle_register_device(dev)) {