]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
firmware: google: framebuffer: Init memory resource with helper macro
authorThomas Zimmermann <tzimmermann@suse.de>
Tue, 17 Feb 2026 15:56:13 +0000 (16:56 +0100)
committerThomas Zimmermann <tzimmermann@suse.de>
Fri, 20 Feb 2026 13:38:18 +0000 (14:38 +0100)
Initialize framebuffer memory resource with DEFINE_RES_MEM() instead
of open-coding the setup.

While at it, drop the resource name to make the kernel use the device
name of the simple-framebuffer device for the resource. The latter
includes a device number. While the meaning of the resource name is
somewhat fuzzy and varies across entries in /proc/iomem, showing the
device name seems more helpful than showing a fixed name.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Tzung-Bi Shih <tzungbi@kernel.org>
Acked-by: Julius Werner <jwerner@chromium.org>
Link: https://patch.msgid.link/20260217155836.96267-4-tzimmermann@suse.de
drivers/firmware/google/framebuffer-coreboot.c

index f44183476ed73cc4e785e4e048d160c71048420d..767515a30a52af72ecacda5dd3bd3e10620cd15e 100644 (file)
@@ -26,7 +26,6 @@ static const struct simplefb_format formats[] = SIMPLEFB_FORMATS;
 static int framebuffer_probe(struct coreboot_device *dev)
 {
        int i;
-       u32 length;
        struct lb_framebuffer *fb = &dev->framebuffer;
        struct platform_device *pdev;
        struct resource res;
@@ -53,6 +52,11 @@ static int framebuffer_probe(struct coreboot_device *dev)
        if (!fb->physical_address)
                return -ENODEV;
 
+       res = DEFINE_RES_MEM(fb->physical_address,
+                            PAGE_ALIGN(fb->y_resolution * fb->bytes_per_line));
+       if (res.end <= res.start)
+               return -EINVAL;
+
        for (i = 0; i < ARRAY_SIZE(formats); ++i) {
                if (fb->bits_per_pixel     == formats[i].bits_per_pixel &&
                    fb->red_mask_pos       == formats[i].red.offset &&
@@ -66,15 +70,6 @@ static int framebuffer_probe(struct coreboot_device *dev)
        if (!pdata.format)
                return -ENODEV;
 
-       memset(&res, 0, sizeof(res));
-       res.flags = IORESOURCE_MEM;
-       res.name = "Coreboot Framebuffer";
-       res.start = fb->physical_address;
-       length = PAGE_ALIGN(fb->y_resolution * fb->bytes_per_line);
-       res.end = res.start + length - 1;
-       if (res.end <= res.start)
-               return -EINVAL;
-
        pdev = platform_device_register_resndata(&dev->dev,
                                                 "simple-framebuffer", 0,
                                                 &res, 1, &pdata,