rk30 lcdc: display lut support
[firefly-linux-kernel-4.4.55.git] / drivers / video / sh7760fb.c
index bea38fce2470298f4bf27345ab72b0007abb260b..45e47d8471634d2bd9f57c2ef5e3da88cdc8494b 100644 (file)
@@ -459,14 +459,14 @@ static int __devinit sh7760fb_probe(struct platform_device *pdev)
        }
 
        par->ioarea = request_mem_region(res->start,
-                                        (res->end - res->start), pdev->name);
+                                        resource_size(res), pdev->name);
        if (!par->ioarea) {
                dev_err(&pdev->dev, "mmio area busy\n");
                ret = -EBUSY;
                goto out_fb;
        }
 
-       par->base = ioremap_nocache(res->start, res->end - res->start + 1);
+       par->base = ioremap_nocache(res->start, resource_size(res));
        if (!par->base) {
                dev_err(&pdev->dev, "cannot remap\n");
                ret = -ENODEV;
@@ -551,8 +551,7 @@ out_unmap:
                free_irq(par->irq, &par->vsync);
        iounmap(par->base);
 out_res:
-       release_resource(par->ioarea);
-       kfree(par->ioarea);
+       release_mem_region(res->start, resource_size(res));
 out_fb:
        framebuffer_release(info);
        return ret;
@@ -570,8 +569,7 @@ static int __devexit sh7760fb_remove(struct platform_device *dev)
        if (par->irq >= 0)
                free_irq(par->irq, par);
        iounmap(par->base);
-       release_resource(par->ioarea);
-       kfree(par->ioarea);
+       release_mem_region(par->ioarea->start, resource_size(par->ioarea));
        framebuffer_release(info);
        platform_set_drvdata(dev, NULL);