|
@@ -90,31 +90,6 @@ void __init acpi_old_suspend_ordering(void)
|
|
|
old_suspend_ordering = true;
|
|
|
}
|
|
|
|
|
|
-/*
|
|
|
- * According to the ACPI specification the BIOS should make sure that ACPI is
|
|
|
- * enabled and SCI_EN bit is set on wake-up from S1 - S3 sleep states. Still,
|
|
|
- * some BIOSes don't do that and therefore we use acpi_enable() to enable ACPI
|
|
|
- * on such systems during resume. Unfortunately that doesn't help in
|
|
|
- * particularly pathological cases in which SCI_EN has to be set directly on
|
|
|
- * resume, although the specification states very clearly that this flag is
|
|
|
- * owned by the hardware. The set_sci_en_on_resume variable will be set in such
|
|
|
- * cases.
|
|
|
- */
|
|
|
-static bool set_sci_en_on_resume;
|
|
|
-/*
|
|
|
- * The ACPI specification wants us to save NVS memory regions during hibernation
|
|
|
- * and to restore them during the subsequent resume. However, it is not certain
|
|
|
- * if this mechanism is going to work on all machines, so we allow the user to
|
|
|
- * disable this mechanism using the 'acpi_sleep=s4_nonvs' kernel command line
|
|
|
- * option.
|
|
|
- */
|
|
|
-static bool s4_no_nvs;
|
|
|
-
|
|
|
-void __init acpi_s4_no_nvs(void)
|
|
|
-{
|
|
|
- s4_no_nvs = true;
|
|
|
-}
|
|
|
-
|
|
|
/**
|
|
|
* acpi_pm_disable_gpes - Disable the GPEs.
|
|
|
*/
|
|
@@ -193,6 +168,18 @@ static void acpi_pm_end(void)
|
|
|
#endif /* CONFIG_ACPI_SLEEP */
|
|
|
|
|
|
#ifdef CONFIG_SUSPEND
|
|
|
+/*
|
|
|
+ * According to the ACPI specification the BIOS should make sure that ACPI is
|
|
|
+ * enabled and SCI_EN bit is set on wake-up from S1 - S3 sleep states. Still,
|
|
|
+ * some BIOSes don't do that and therefore we use acpi_enable() to enable ACPI
|
|
|
+ * on such systems during resume. Unfortunately that doesn't help in
|
|
|
+ * particularly pathological cases in which SCI_EN has to be set directly on
|
|
|
+ * resume, although the specification states very clearly that this flag is
|
|
|
+ * owned by the hardware. The set_sci_en_on_resume variable will be set in such
|
|
|
+ * cases.
|
|
|
+ */
|
|
|
+static bool set_sci_en_on_resume;
|
|
|
+
|
|
|
extern void do_suspend_lowlevel(void);
|
|
|
|
|
|
static u32 acpi_suspend_states[] = {
|
|
@@ -396,6 +383,20 @@ static struct dmi_system_id __initdata acpisleep_dmi_table[] = {
|
|
|
#endif /* CONFIG_SUSPEND */
|
|
|
|
|
|
#ifdef CONFIG_HIBERNATION
|
|
|
+/*
|
|
|
+ * The ACPI specification wants us to save NVS memory regions during hibernation
|
|
|
+ * and to restore them during the subsequent resume. However, it is not certain
|
|
|
+ * if this mechanism is going to work on all machines, so we allow the user to
|
|
|
+ * disable this mechanism using the 'acpi_sleep=s4_nonvs' kernel command line
|
|
|
+ * option.
|
|
|
+ */
|
|
|
+static bool s4_no_nvs;
|
|
|
+
|
|
|
+void __init acpi_s4_no_nvs(void)
|
|
|
+{
|
|
|
+ s4_no_nvs = true;
|
|
|
+}
|
|
|
+
|
|
|
static unsigned long s4_hardware_signature;
|
|
|
static struct acpi_table_facs *facs;
|
|
|
static bool nosigcheck;
|