diff options
Diffstat (limited to 'arch/x86/boot/video-bios.c')
| -rw-r--r-- | arch/x86/boot/video-bios.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/x86/boot/video-bios.c b/arch/x86/boot/video-bios.c index ff664a117096..39e247e96172 100644 --- a/arch/x86/boot/video-bios.c +++ b/arch/x86/boot/video-bios.c | |||
| @@ -50,6 +50,7 @@ static int set_bios_mode(u8 mode) | |||
| 50 | if (new_mode == mode) | 50 | if (new_mode == mode) |
| 51 | return 0; /* Mode change OK */ | 51 | return 0; /* Mode change OK */ |
| 52 | 52 | ||
| 53 | #ifndef _WAKEUP | ||
| 53 | if (new_mode != boot_params.screen_info.orig_video_mode) { | 54 | if (new_mode != boot_params.screen_info.orig_video_mode) { |
| 54 | /* Mode setting failed, but we didn't end up where we | 55 | /* Mode setting failed, but we didn't end up where we |
| 55 | started. That's bad. Try to revert to the original | 56 | started. That's bad. Try to revert to the original |
| @@ -59,13 +60,18 @@ static int set_bios_mode(u8 mode) | |||
| 59 | : "+a" (ax) | 60 | : "+a" (ax) |
| 60 | : : "ebx", "ecx", "edx", "esi", "edi"); | 61 | : : "ebx", "ecx", "edx", "esi", "edi"); |
| 61 | } | 62 | } |
| 63 | #endif | ||
| 62 | return -1; | 64 | return -1; |
| 63 | } | 65 | } |
| 64 | 66 | ||
| 65 | static int bios_probe(void) | 67 | static int bios_probe(void) |
| 66 | { | 68 | { |
| 67 | u8 mode; | 69 | u8 mode; |
| 70 | #ifdef _WAKEUP | ||
| 71 | u8 saved_mode = 0x03; | ||
| 72 | #else | ||
| 68 | u8 saved_mode = boot_params.screen_info.orig_video_mode; | 73 | u8 saved_mode = boot_params.screen_info.orig_video_mode; |
| 74 | #endif | ||
| 69 | u16 crtc; | 75 | u16 crtc; |
| 70 | struct mode_info *mi; | 76 | struct mode_info *mi; |
| 71 | int nmodes = 0; | 77 | int nmodes = 0; |
