]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
video: Add a function to obtain the framebuffer address
authorSimon Glass <sjg@chromium.org>
Wed, 21 Aug 2024 16:18:55 +0000 (10:18 -0600)
committerTom Rini <trini@konsulko.com>
Mon, 26 Aug 2024 20:05:37 +0000 (14:05 -0600)
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 <sjg@chromium.org>
drivers/video/video-uclass.c
include/video.h

index a5aa8dd52954af81df9adb44111ccd8b523d0e64..e358a7949e0088c4a1c547664b8c92ff4e9396c0 100644 (file)
@@ -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)
 {
index 4013a949983feffd1bcdad64a0a2533ba51c0aaa..606c8a37fb8dc3850216a35d8bc509c681d9dcc4 100644 (file)
@@ -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