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 <[email protected]>
---
 drivers/firmware/google/framebuffer-coreboot.c | 15 +++++----------
 1 file changed, 5 insertions(+), 10 deletions(-)

diff --git a/drivers/firmware/google/framebuffer-coreboot.c 
b/drivers/firmware/google/framebuffer-coreboot.c
index f44183476ed7..767515a30a52 100644
--- a/drivers/firmware/google/framebuffer-coreboot.c
+++ b/drivers/firmware/google/framebuffer-coreboot.c
@@ -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,
-- 
2.52.0

Reply via email to