From: Simon Glass Date: Wed, 21 Aug 2024 16:18:55 +0000 (-0600) Subject: video: Add a function to obtain the framebuffer address X-Git-Url: http://git.dujemihanovic.xyz/%22http:/www.sics.se/static/%7B%7B%20.Permalink%20%7D%7D?a=commitdiff_plain;h=b5c5923e4e4d526055c559e9bf644c2669335730;p=u-boot.git video: Add a function to obtain the framebuffer address Add a new function which returns the framebuffer address of the first video device. This will allow the global_data field top be dropped. Signed-off-by: Simon Glass --- diff --git a/drivers/video/video-uclass.c b/drivers/video/video-uclass.c index a5aa8dd529..e358a7949e 100644 --- a/drivers/video/video-uclass.c +++ b/drivers/video/video-uclass.c @@ -152,6 +152,20 @@ int video_reserve(ulong *addrp) return 0; } +ulong video_get_fb(void) +{ + struct udevice *dev; + + uclass_find_first_device(UCLASS_VIDEO, &dev); + if (dev) { + const struct video_uc_plat *uc_plat = dev_get_uclass_plat(dev); + + return uc_plat->base; + } + + return 0; +} + int video_fill_part(struct udevice *dev, int xstart, int ystart, int xend, int yend, u32 colour) { diff --git a/include/video.h b/include/video.h index 4013a94998..606c8a37fb 100644 --- a/include/video.h +++ b/include/video.h @@ -420,4 +420,15 @@ int bmp_info(ulong addr); */ int video_reserve_from_bloblist(struct video_handoff *ho); +/** + * video_get_fb() - Get the first framebuffer address + * + * This function does not probe video devices, so can only be used after a video + * device has been activated. + * + * Return: address of the framebuffer of the first video device found, or 0 if + * there is no device + */ +ulong video_get_fb(void); + #endif