cpuidle: Make drivers initialize polling state
[sfrench/cifs-2.6.git] / drivers / acpi / processor_idle.c
index 39a01ea7a46d8747927a613d22f378fae11662ab..df38e81cc6721fd8d1495493a0b601f5867ecb3d 100644 (file)
@@ -842,7 +842,7 @@ static int acpi_processor_setup_cpuidle_cx(struct acpi_processor *pr,
 
 static int acpi_processor_setup_cstates(struct acpi_processor *pr)
 {
-       int i, count = ACPI_IDLE_STATE_START;
+       int i, count;
        struct acpi_processor_cx *cx;
        struct cpuidle_state *state;
        struct cpuidle_driver *drv = &acpi_idle_driver;
@@ -850,6 +850,13 @@ static int acpi_processor_setup_cstates(struct acpi_processor *pr)
        if (max_cstate == 0)
                max_cstate = 1;
 
+       if (IS_ENABLED(CONFIG_ARCH_HAS_CPU_RELAX)) {
+               cpuidle_poll_state_init(drv);
+               count = 1;
+       } else {
+               count = 0;
+       }
+
        for (i = 1; i < ACPI_PROCESSOR_MAX_POWER && i <= max_cstate; i++) {
                cx = &pr->power.states[i];