]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/commitdiff
video: sa1100fb: use devm_ioremap_resource()
authorRussell King <rmk+kernel@armlinux.org.uk>
Tue, 17 Oct 2017 14:01:12 +0000 (16:01 +0200)
committerBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Tue, 17 Oct 2017 14:01:12 +0000 (16:01 +0200)
Use devm_ioremap_resource() to map the LCD controller memory region,
and remove the unnecessary cleanup for this.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
drivers/video/fbdev/sa1100fb.c

index 1562d7607dd2860750c3e797565048b05d30400c..ab83970dbfd95a56875d7e13aaa8392fcc31f183 100644 (file)
@@ -1217,29 +1217,28 @@ static int sa1100fb_probe(struct platform_device *pdev)
                return -EINVAL;
        }
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
        irq = platform_get_irq(pdev, 0);
-       if (irq < 0 || !res)
+       if (irq < 0)
                return -EINVAL;
 
-       if (!request_mem_region(res->start, resource_size(res), "LCD"))
-               return -EBUSY;
-
        fbi = sa1100fb_init_fbinfo(&pdev->dev);
        ret = -ENOMEM;
        if (!fbi)
                goto failed;
 
+       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+       fbi->base = devm_ioremap_resource(&pdev->dev, res);
+       if (IS_ERR(fbi->base)) {
+               ret = PTR_ERR(fbi->base);
+               goto failed;
+       }
+
        fbi->clk = devm_clk_get(&pdev->dev, NULL);
        if (IS_ERR(fbi->clk)) {
                ret = PTR_ERR(fbi->clk);
                goto failed;
        }
 
-       fbi->base = ioremap(res->start, resource_size(res));
-       if (!fbi->base)
-               goto failed;
-
        /* Initialize video memory */
        ret = sa1100fb_map_video_memory(fbi);
        if (ret)
@@ -1286,9 +1285,6 @@ static int sa1100fb_probe(struct platform_device *pdev)
  err_free_irq:
        free_irq(irq, fbi);
  failed:
-       if (fbi)
-               iounmap(fbi->base);
-       release_mem_region(res->start, resource_size(res));
        return ret;
 }