While enabling a splash screen I enabled SPLASH_SCREEN which
automatically disable CONFIG_VIDEO_LOGO (while keeping CONFIG_VIDEO))
and hit a link failure:

  video-uclass.o: in function `video_get_u_boot_logo':
  video-uclass.c:593: undefined reference to `__splash_u_boot_logo_begin'

The __splash_u_boot_logo_begin/_end symbols come from u_boot_logo.bmp.o,
which is only built when CONFIG_VIDEO_LOGO is set, but the splash helpers
reference them unconditionally.

Downstream just worked around this by unsetting EXPO, which is the only
caller of video_get_u_boot_logo, but that's not a real fix, so patch 2
guards the splash code (and adds a NULL-returning stub for
video_get_u_boot_logo()) so VIDEO without VIDEO_LOGO builds.

While at it, patch 1 makes show_splash() actually return the
video_bmp_display() result instead of discarding it and returning 0.
This has the side effect of actually making the whole video device fail
to probe (no display), where before the console came up fine minus the
logo.

Signed-off-by: Julien Stephan <[email protected]>
---
Julien Stephan (2):
      video: propagate show_splash() return value
      video: fix build with CONFIG_VIDEO && !CONFIG_VIDEO_LOGO

 drivers/video/video-uclass.c | 12 ++++++------
 include/video.h              |  9 ++++++++-
 2 files changed, 14 insertions(+), 7 deletions(-)
---
base-commit: a18265f1ccb7a272721ed4286ed3b5a6182ff424
change-id: 
20260901-fix-build-with-config-video-but-config-video-logo-disabled-f56fffc664eb

Best regards,
--  
Julien Stephan <[email protected]>

Reply via email to