]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
fbdev: cobalt_lcdfb: Request memory region
authorAmit Barzilai <amit.barzilai22@gmail.com>
Mon, 20 Apr 2026 13:44:22 +0000 (16:44 +0300)
committerHelge Deller <deller@gmx.de>
Wed, 22 Apr 2026 14:46:40 +0000 (16:46 +0200)
Use devm_platform_get_and_ioremap_resource() instead of open-coding
platform_get_resource() and devm_ioremap() separately. The helper
requests the memory region before mapping it, which registers the range
in /proc/iomem and prevents another driver from mapping the same
registers.

Assisted-by: Claude:claude-sonnet-4-6
Signed-off-by: Amit Barzilai <amit.barzilai22@gmail.com>
Signed-off-by: Helge Deller <deller@gmx.de>
drivers/video/fbdev/cobalt_lcdfb.c

index 308967b5096ad1ae409564484555e9b4fb589159..f7faa95fefd3ca725c05741d87d91ccb5aa359c0 100644 (file)
@@ -295,19 +295,13 @@ static int cobalt_lcdfb_probe(struct platform_device *dev)
        if (!info)
                return -ENOMEM;
 
-       res = platform_get_resource(dev, IORESOURCE_MEM, 0);
-       if (!res) {
+       info->screen_base = devm_platform_get_and_ioremap_resource(dev, 0, &res);
+       if (IS_ERR(info->screen_base)) {
                framebuffer_release(info);
-               return -EBUSY;
+               return PTR_ERR(info->screen_base);
        }
 
        info->screen_size = resource_size(res);
-       info->screen_base = devm_ioremap(&dev->dev, res->start,
-                                        info->screen_size);
-       if (!info->screen_base) {
-               framebuffer_release(info);
-               return -ENOMEM;
-       }
 
        info->fbops = &cobalt_lcd_fbops;
        info->fix = cobalt_lcdfb_fix;