cpuidle: haltpoll: Call cpuidle_poll_state_init() later
authorLi RongQing <lirongqing@baidu.com>
Fri, 4 Mar 2022 07:53:28 +0000 (15:53 +0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 9 Mar 2022 18:59:45 +0000 (19:59 +0100)
Call cpuidle_poll_state_init() only if it is needed to avoid doing
useless work.

Signed-off-by: Li RongQing <lirongqing@baidu.com>
[ rjw: Subject and changelog edits ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/cpuidle/cpuidle-haltpoll.c

index fcc5321..3a39a7f 100644 (file)
@@ -108,11 +108,11 @@ static int __init haltpoll_init(void)
        if (boot_option_idle_override != IDLE_NO_OVERRIDE)
                return -ENODEV;
 
-       cpuidle_poll_state_init(drv);
-
        if (!kvm_para_available() || !haltpoll_want())
                return -ENODEV;
 
+       cpuidle_poll_state_init(drv);
+
        ret = cpuidle_register_driver(drv);
        if (ret < 0)
                return ret;