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
