diff options
author | Simon Glass | 2021-11-19 13:24:05 -0700 |
---|---|---|
committer | Anatolij Gustschin | 2021-12-26 23:33:24 +0100 |
commit | d8bf49fa20bf1bf8b94e574a651e117da21a632c (patch) | |
tree | 3c240f9430256bebeab3ef3252c731e9eb35d89d /common/splash_source.c | |
parent | 7a8555d871361a1e36152c25826359704c1e46de (diff) |
video: Support virtio devices with the splash screen
This is useful for showing a logo when booting from qemu.
Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'common/splash_source.c')
-rw-r--r-- | common/splash_source.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/common/splash_source.c b/common/splash_source.c index d05670f5ee8..2c03cbdf928 100644 --- a/common/splash_source.c +++ b/common/splash_source.c @@ -20,6 +20,7 @@ #include <spi_flash.h> #include <splash.h> #include <usb.h> +#include <virtio.h> #include <asm/global_data.h> DECLARE_GLOBAL_DATA_PTR; @@ -179,6 +180,16 @@ static inline int splash_init_sata(void) } #endif +static int splash_init_virtio(void) +{ + if (!IS_ENABLED(CONFIG_VIRTIO)) { + printf("Cannot load splash image: no virtio support\n"); + return -ENOSYS; + } else { + return virtio_init(); + } +} + #ifdef CONFIG_CMD_UBIFS static int splash_mount_ubifs(struct splash_location *location) { @@ -233,6 +244,9 @@ static int splash_load_fs(struct splash_location *location, u32 bmp_load_addr) if (location->storage == SPLASH_STORAGE_SATA) res = splash_init_sata(); + if (location->storage == SPLASH_STORAGE_VIRTIO) + res = splash_init_virtio(); + if (location->ubivol != NULL) res = splash_mount_ubifs(location); |