diff mbox

[U-Boot,v3,26/28] x86: Gracefully disable the vesa driver when running from EFI

Message ID 1438713246-1887-27-git-send-email-sjg@chromium.org
State Accepted
Delegated to: Simon Glass
Headers show

Commit Message

Simon Glass Aug. 4, 2015, 6:34 p.m. UTC
We cannot use this driver when running from EFI as we have no direct hardware
access. In fact coreboot uses a different driver which uses tables provided
by coreboot. So far it does not seem possible to use a normal video driver
when booting from EFI.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Anatolij Gustschin <agust@denx.de>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
---

Changes in v3: None
Changes in v2:
- Replace 'Coreboot' with 'coreboot'

 drivers/video/vesa_fb.c | 8 ++++++++
 1 file changed, 8 insertions(+)

Comments

Simon Glass Aug. 5, 2015, 6:03 p.m. UTC | #1
On 4 August 2015 at 12:34, Simon Glass <sjg@chromium.org> wrote:
> We cannot use this driver when running from EFI as we have no direct hardware
> access. In fact coreboot uses a different driver which uses tables provided
> by coreboot. So far it does not seem possible to use a normal video driver
> when booting from EFI.
>
> Signed-off-by: Simon Glass <sjg@chromium.org>
> Acked-by: Anatolij Gustschin <agust@denx.de>
> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
> ---
>
> Changes in v3: None
> Changes in v2:
> - Replace 'Coreboot' with 'coreboot'
>
>  drivers/video/vesa_fb.c | 8 ++++++++
>  1 file changed, 8 insertions(+)

Applied to u-boot-x86.
diff mbox

Patch

diff --git a/drivers/video/vesa_fb.c b/drivers/video/vesa_fb.c
index 909f8e8..4e6d070 100644
--- a/drivers/video/vesa_fb.c
+++ b/drivers/video/vesa_fb.c
@@ -24,6 +24,14 @@  void *video_hw_init(void)
 	int ret;
 
 	printf("Video: ");
+	if (!ll_boot_init()) {
+		/*
+		 * If we are running from EFI or coreboot, this driver can't
+		 * work.
+		 */
+		printf("Not available (previous bootloader prevents it)\n");
+		return NULL;
+	}
 	if (vbe_get_video_info(gdev)) {
 		dev = pci_find_class(PCI_CLASS_DISPLAY_VGA << 8, 0);
 		if (dev == -1) {