aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86/boot/compressed/eboot.c2
-rw-r--r--drivers/video/efifb.c4
-rw-r--r--include/linux/screen_info.h2
3 files changed, 7 insertions, 1 deletions
diff --git a/arch/x86/boot/compressed/eboot.c b/arch/x86/boot/compressed/eboot.c
index d5e4044505d3..bbd83b9cb4da 100644
--- a/arch/x86/boot/compressed/eboot.c
+++ b/arch/x86/boot/compressed/eboot.c
@@ -379,6 +379,8 @@ static efi_status_t setup_gop(struct screen_info *si, efi_guid_t *proto,
379 si->rsvd_pos = 0; 379 si->rsvd_pos = 0;
380 } 380 }
381 381
382 si->capabilities |= VIDEO_CAPABILITY_SKIP_QUIRKS;
383
382free_handle: 384free_handle:
383 efi_call_phys1(sys_table->boottime->free_pool, gop_handle); 385 efi_call_phys1(sys_table->boottime->free_pool, gop_handle);
384 return status; 386 return status;
diff --git a/drivers/video/efifb.c b/drivers/video/efifb.c
index b4a632ada401..932abaa58a89 100644
--- a/drivers/video/efifb.c
+++ b/drivers/video/efifb.c
@@ -553,7 +553,9 @@ static int __init efifb_init(void)
553 int ret; 553 int ret;
554 char *option = NULL; 554 char *option = NULL;
555 555
556 dmi_check_system(dmi_system_table); 556 if (screen_info.orig_video_isVGA != VIDEO_TYPE_EFI ||
557 !(screen_info.capabilities & VIDEO_CAPABILITY_SKIP_QUIRKS))
558 dmi_check_system(dmi_system_table);
557 559
558 if (screen_info.orig_video_isVGA != VIDEO_TYPE_EFI) 560 if (screen_info.orig_video_isVGA != VIDEO_TYPE_EFI)
559 return -ENODEV; 561 return -ENODEV;
diff --git a/include/linux/screen_info.h b/include/linux/screen_info.h
index 899fbb487c94..fb3c5a8fef3d 100644
--- a/include/linux/screen_info.h
+++ b/include/linux/screen_info.h
@@ -68,6 +68,8 @@ struct screen_info {
68 68
69#define VIDEO_FLAGS_NOCURSOR (1 << 0) /* The video mode has no cursor set */ 69#define VIDEO_FLAGS_NOCURSOR (1 << 0) /* The video mode has no cursor set */
70 70
71#define VIDEO_CAPABILITY_SKIP_QUIRKS (1 << 0)
72
71#ifdef __KERNEL__ 73#ifdef __KERNEL__
72extern struct screen_info screen_info; 74extern struct screen_info screen_info;
73 75