diff options
author | Jarkko Sakkinen <jarkko.sakkinen@intel.com> | 2012-05-08 14:22:29 -0400 |
---|---|---|
committer | H. Peter Anvin <hpa@linux.intel.com> | 2012-05-08 14:46:05 -0400 |
commit | c9b77ccb52a5c77233b0e557b7d4417b00ef4012 (patch) | |
tree | 152d1c9b60796db21458583a76b57f995c4cd3bf /drivers/acpi/sleep.c | |
parent | 48927bbb97c7d4cf343c05827ab9ac30c60678cb (diff) |
x86, realmode: Move ACPI wakeup to unified realmode code
Migrated ACPI wakeup code to the real-mode blob.
Code existing in .x86_trampoline can be completely
removed. Static descriptor table in wakeup_asm.S is
courtesy of H. Peter Anvin.
Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@intel.com>
Link: http://lkml.kernel.org/r/1336501366-28617-7-git-send-email-jarkko.sakkinen@intel.com
Cc: Rafael J. Wysocki <rjw@sisk.pl>
Cc: Len Brown <len.brown@intel.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Diffstat (limited to 'drivers/acpi/sleep.c')
-rw-r--r-- | drivers/acpi/sleep.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/acpi/sleep.c b/drivers/acpi/sleep.c index eb6fd233764b..e77aa4a1c9f6 100644 --- a/drivers/acpi/sleep.c +++ b/drivers/acpi/sleep.c | |||
@@ -25,6 +25,8 @@ | |||
25 | #include <acpi/acpi_bus.h> | 25 | #include <acpi/acpi_bus.h> |
26 | #include <acpi/acpi_drivers.h> | 26 | #include <acpi/acpi_drivers.h> |
27 | 27 | ||
28 | #include <asm/realmode.h> | ||
29 | |||
28 | #include "internal.h" | 30 | #include "internal.h" |
29 | #include "sleep.h" | 31 | #include "sleep.h" |
30 | 32 | ||
@@ -91,13 +93,13 @@ static struct notifier_block tts_notifier = { | |||
91 | static int acpi_sleep_prepare(u32 acpi_state) | 93 | static int acpi_sleep_prepare(u32 acpi_state) |
92 | { | 94 | { |
93 | #ifdef CONFIG_ACPI_SLEEP | 95 | #ifdef CONFIG_ACPI_SLEEP |
96 | unsigned long wakeup_pa = real_mode_header.wakeup_start; | ||
94 | /* do we have a wakeup address for S2 and S3? */ | 97 | /* do we have a wakeup address for S2 and S3? */ |
95 | if (acpi_state == ACPI_STATE_S3) { | 98 | if (acpi_state == ACPI_STATE_S3) { |
96 | if (!acpi_wakeup_address) { | 99 | if (!wakeup_pa) |
97 | return -EFAULT; | 100 | return -EFAULT; |
98 | } | ||
99 | acpi_set_firmware_waking_vector( | 101 | acpi_set_firmware_waking_vector( |
100 | (acpi_physical_address)acpi_wakeup_address); | 102 | (acpi_physical_address)wakeup_pa); |
101 | 103 | ||
102 | } | 104 | } |
103 | ACPI_FLUSH_CPU_CACHE(); | 105 | ACPI_FLUSH_CPU_CACHE(); |