diff options
author | Damien Cassou <damien.cassou@lifl.fr> | 2012-08-03 17:40:10 +0200 |
---|---|---|
committer | Florian Tobias Schandinat <FlorianSchandinat@gmx.de> | 2012-08-23 15:13:27 +0200 |
commit | e07d232335ed2b65b50b51d1564b418801901d7c (patch) | |
tree | dbe409703ad484a62bf05aeb6cc482bb2e022133 | |
parent | video: s3c-fb: use devm_clk_get() (diff) | |
download | linux-e07d232335ed2b65b50b51d1564b418801901d7c.tar.xz linux-e07d232335ed2b65b50b51d1564b418801901d7c.zip |
drivers/video/epson1355fb.c: use devm_ functions
The various devm_ functions allocate memory that is released when a driver
detaches. This patch uses these functions for data that is allocated in the
probe function of a platform device and is only freed in the remove function.
Signed-off-by: Damien Cassou <damien.cassou@lifl.fr>
Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
-rw-r--r-- | drivers/video/epson1355fb.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/drivers/video/epson1355fb.c b/drivers/video/epson1355fb.c index 68b9b511ce80..246da1e2968c 100644 --- a/drivers/video/epson1355fb.c +++ b/drivers/video/epson1355fb.c @@ -592,12 +592,8 @@ static int epson1355fb_remove(struct platform_device *dev) if (info) { fb_dealloc_cmap(&info->cmap); - if (info->screen_base) - iounmap(info->screen_base); framebuffer_release(info); } - release_mem_region(EPSON1355FB_FB_PHYS, EPSON1355FB_FB_LEN); - release_mem_region(EPSON1355FB_REGS_PHYS, EPSON1355FB_REGS_LEN); return 0; } @@ -608,15 +604,18 @@ static int __devinit epson1355fb_probe(struct platform_device *dev) u8 revision; int rc = 0; - if (!request_mem_region(EPSON1355FB_REGS_PHYS, EPSON1355FB_REGS_LEN, "S1D13505 registers")) { + if (!devm_request_mem_region(&dev->dev, EPSON1355FB_REGS_PHYS, + EPSON1355FB_REGS_LEN, + "S1D13505 registers")) { printk(KERN_ERR "epson1355fb: unable to reserve " "registers at 0x%0x\n", EPSON1355FB_REGS_PHYS); rc = -EBUSY; goto bail; } - if (!request_mem_region(EPSON1355FB_FB_PHYS, EPSON1355FB_FB_LEN, - "S1D13505 framebuffer")) { + if (!devm_request_mem_region(&dev->dev, EPSON1355FB_FB_PHYS, + EPSON1355FB_FB_LEN, + "S1D13505 framebuffer")) { printk(KERN_ERR "epson1355fb: unable to reserve " "framebuffer at 0x%0x\n", EPSON1355FB_FB_PHYS); rc = -EBUSY; @@ -638,7 +637,8 @@ static int __devinit epson1355fb_probe(struct platform_device *dev) } info->pseudo_palette = default_par->pseudo_palette; - info->screen_base = ioremap(EPSON1355FB_FB_PHYS, EPSON1355FB_FB_LEN); + info->screen_base = devm_ioremap(&dev->dev, EPSON1355FB_FB_PHYS, + EPSON1355FB_FB_LEN); if (!info->screen_base) { printk(KERN_ERR "epson1355fb: unable to map framebuffer\n"); rc = -ENOMEM; |