]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blobdiff - drivers/acpi/osl.c
Merge branches 'for-4.11/upstream-fixes', 'for-4.12/accutouch', 'for-4.12/cp2112...
[mirror_ubuntu-artful-kernel.git] / drivers / acpi / osl.c
index a404ff4d71511d0a9d56ce10a238682e9ffc6073..db78d353bab1f94b4d88c8b767b105a1da486d0b 100644 (file)
@@ -42,7 +42,7 @@
 #include <linux/semaphore.h>
 
 #include <asm/io.h>
-#include <asm/uaccess.h>
+#include <linux/uaccess.h>
 #include <linux/io-64-nonatomic-lo-hi.h>
 
 #include "internal.h"
@@ -1686,7 +1686,7 @@ acpi_status acpi_os_prepare_sleep(u8 sleep_state, u32 pm1a_control,
        if (rc < 0)
                return AE_ERROR;
        else if (rc > 0)
-               return AE_CTRL_SKIP;
+               return AE_CTRL_TERMINATE;
 
        return AE_OK;
 }
@@ -1697,6 +1697,7 @@ void acpi_os_set_prepare_sleep(int (*func)(u8 sleep_state,
        __acpi_os_prepare_sleep = func;
 }
 
+#if (ACPI_REDUCED_HARDWARE)
 acpi_status acpi_os_prepare_extended_sleep(u8 sleep_state, u32 val_a,
                                  u32 val_b)
 {
@@ -1707,13 +1708,35 @@ acpi_status acpi_os_prepare_extended_sleep(u8 sleep_state, u32 val_a,
        if (rc < 0)
                return AE_ERROR;
        else if (rc > 0)
-               return AE_CTRL_SKIP;
+               return AE_CTRL_TERMINATE;
 
        return AE_OK;
 }
+#else
+acpi_status acpi_os_prepare_extended_sleep(u8 sleep_state, u32 val_a,
+                                 u32 val_b)
+{
+       return AE_OK;
+}
+#endif
 
 void acpi_os_set_prepare_extended_sleep(int (*func)(u8 sleep_state,
                               u32 val_a, u32 val_b))
 {
        __acpi_os_prepare_extended_sleep = func;
 }
+
+acpi_status acpi_os_enter_sleep(u8 sleep_state,
+                               u32 reg_a_value, u32 reg_b_value)
+{
+       acpi_status status;
+
+       if (acpi_gbl_reduced_hardware)
+               status = acpi_os_prepare_extended_sleep(sleep_state,
+                                                       reg_a_value,
+                                                       reg_b_value);
+       else
+               status = acpi_os_prepare_sleep(sleep_state,
+                                              reg_a_value, reg_b_value);
+       return status;
+}