diff options
author | Damien Cassou <damien.cassou@lifl.fr> | 2012-07-31 09:54:18 -0400 |
---|---|---|
committer | Florian Tobias Schandinat <FlorianSchandinat@gmx.de> | 2012-08-23 08:59:02 -0400 |
commit | d1bea50288c7a22e68c01bb11cdb2a8db7d2fa39 (patch) | |
tree | 071075e9f2d6f038b81642e460d3da137ffe3200 /drivers/video/cobalt_lcdfb.c | |
parent | be8678149701a42587741e2d391d8fa8830e9d3b (diff) |
drivers/video/cobalt_lcdfb.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>
Diffstat (limited to 'drivers/video/cobalt_lcdfb.c')
-rw-r--r-- | drivers/video/cobalt_lcdfb.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/video/cobalt_lcdfb.c b/drivers/video/cobalt_lcdfb.c index eae46f6457e2..01a4ee7cc6b1 100644 --- a/drivers/video/cobalt_lcdfb.c +++ b/drivers/video/cobalt_lcdfb.c | |||
@@ -348,7 +348,8 @@ static int __devinit cobalt_lcdfb_probe(struct platform_device *dev) | |||
348 | } | 348 | } |
349 | 349 | ||
350 | info->screen_size = resource_size(res); | 350 | info->screen_size = resource_size(res); |
351 | info->screen_base = ioremap(res->start, info->screen_size); | 351 | info->screen_base = devm_ioremap(&dev->dev, res->start, |
352 | info->screen_size); | ||
352 | info->fbops = &cobalt_lcd_fbops; | 353 | info->fbops = &cobalt_lcd_fbops; |
353 | info->fix = cobalt_lcdfb_fix; | 354 | info->fix = cobalt_lcdfb_fix; |
354 | info->fix.smem_start = res->start; | 355 | info->fix.smem_start = res->start; |
@@ -359,7 +360,6 @@ static int __devinit cobalt_lcdfb_probe(struct platform_device *dev) | |||
359 | 360 | ||
360 | retval = register_framebuffer(info); | 361 | retval = register_framebuffer(info); |
361 | if (retval < 0) { | 362 | if (retval < 0) { |
362 | iounmap(info->screen_base); | ||
363 | framebuffer_release(info); | 363 | framebuffer_release(info); |
364 | return retval; | 364 | return retval; |
365 | } | 365 | } |
@@ -380,7 +380,6 @@ static int __devexit cobalt_lcdfb_remove(struct platform_device *dev) | |||
380 | 380 | ||
381 | info = platform_get_drvdata(dev); | 381 | info = platform_get_drvdata(dev); |
382 | if (info) { | 382 | if (info) { |
383 | iounmap(info->screen_base); | ||
384 | unregister_framebuffer(info); | 383 | unregister_framebuffer(info); |
385 | framebuffer_release(info); | 384 | framebuffer_release(info); |
386 | } | 385 | } |