diff --git a/drivers/video/drm/rockchip_display.c b/drivers/video/drm/rockchip_display.c index 7af5bdf54b..0cdec16e12 100644 --- a/drivers/video/drm/rockchip_display.c +++ b/drivers/video/drm/rockchip_display.c @@ -1047,37 +1047,43 @@ void rockchip_show_fbbase(ulong fbbase) } } -void rockchip_show_bmp(const char *bmp) +int rockchip_show_bmp(const char *bmp) { struct display_state *s; + int ret = 0; if (!bmp) { list_for_each_entry(s, &rockchip_display_list, head) display_disable(s); - return; + return -ENOENT; } list_for_each_entry(s, &rockchip_display_list, head) { s->logo.mode = s->charge_logo_mode; if (load_bmp_logo(&s->logo, bmp)) continue; - display_logo(s); + ret = display_logo(s); } + + return ret; } -void rockchip_show_logo(void) +int rockchip_show_logo(void) { struct display_state *s; + int ret = 0; list_for_each_entry(s, &rockchip_display_list, head) { s->logo.mode = s->logo_mode; if (load_bmp_logo(&s->logo, s->ulogo_name)) printf("failed to display uboot logo\n"); else - display_logo(s); + ret = display_logo(s); /* Load kernel bmp in rockchip_display_fixup() later */ } + + return ret; } enum { diff --git a/include/video_rockchip.h b/include/video_rockchip.h index 335b27ebcb..bb6c34bbf7 100644 --- a/include/video_rockchip.h +++ b/include/video_rockchip.h @@ -21,8 +21,8 @@ #define DRM_ROCKCHIP_FB_SIZE \ VNBYTES(DRM_ROCKCHIP_FB_BPP) * DRM_ROCKCHIP_FB_WIDTH * DRM_ROCKCHIP_FB_HEIGHT -void rockchip_show_bmp(const char *bmp); -void rockchip_show_logo(void); +int rockchip_show_bmp(const char *bmp); +int rockchip_show_logo(void); void rockchip_display_fixup(void *blob); #endif