]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
fbdev: goldfishfb: use devm_platform_ioremap_resource()
authorAmin GATTOUT <amin.gattout@gmail.com>
Tue, 3 Mar 2026 12:22:24 +0000 (13:22 +0100)
committerHelge Deller <deller@gmx.de>
Mon, 9 Mar 2026 12:06:48 +0000 (13:06 +0100)
Replace the open-coded platform_get_resource() + ioremap() pair with
devm_platform_ioremap_resource(), which requests the memory region and
maps it in a single call, with automatic cleanup on device removal.

Signed-off-by: Amin GATTOUT <amin.gattout@gmail.com>
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
Signed-off-by: Helge Deller <deller@gmx.de>
drivers/video/fbdev/goldfishfb.c

index ffe33a36b944d181569a0da6b7a1ee64f161ed65..c9871281bc1dabe91ee794fa92352c7ead151afe 100644 (file)
@@ -174,7 +174,6 @@ static const struct fb_ops goldfish_fb_ops = {
 static int goldfish_fb_probe(struct platform_device *pdev)
 {
        int ret;
-       struct resource *r;
        struct goldfish_fb *fb;
        size_t framesize;
        u32 width, height;
@@ -189,14 +188,9 @@ static int goldfish_fb_probe(struct platform_device *pdev)
        init_waitqueue_head(&fb->wait);
        platform_set_drvdata(pdev, fb);
 
-       r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       if (r == NULL) {
-               ret = -ENODEV;
-               goto err_no_io_base;
-       }
-       fb->reg_base = ioremap(r->start, PAGE_SIZE);
-       if (fb->reg_base == NULL) {
-               ret = -ENOMEM;
+       fb->reg_base = devm_platform_ioremap_resource(pdev, 0);
+       if (IS_ERR(fb->reg_base)) {
+               ret = PTR_ERR(fb->reg_base);
                goto err_no_io_base;
        }
 
@@ -273,7 +267,6 @@ err_fb_set_var_failed:
                                fb->fb.fix.smem_start);
 err_alloc_screen_base_failed:
 err_no_irq:
-       iounmap(fb->reg_base);
 err_no_io_base:
        kfree(fb);
 err_fb_alloc_failed:
@@ -291,7 +284,6 @@ static void goldfish_fb_remove(struct platform_device *pdev)
 
        dma_free_coherent(&pdev->dev, framesize, (void *)fb->fb.screen_base,
                                                fb->fb.fix.smem_start);
-       iounmap(fb->reg_base);
        kfree(fb);
 }