From: Damien Cassou <damien.cas...@lifl.fr>

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.cas...@lifl.fr>

---
 drivers/video/cobalt_lcdfb.c |    5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/video/cobalt_lcdfb.c b/drivers/video/cobalt_lcdfb.c
index eae46f6..01a4ee7 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)
        }
 
        info->screen_size = resource_size(res);
-       info->screen_base = ioremap(res->start, info->screen_size);
+       info->screen_base = devm_ioremap(&dev->dev, res->start,
+                                        info->screen_size);
        info->fbops = &cobalt_lcd_fbops;
        info->fix = cobalt_lcdfb_fix;
        info->fix.smem_start = res->start;
@@ -359,7 +360,6 @@ static int __devinit cobalt_lcdfb_probe(struct 
platform_device *dev)
 
        retval = register_framebuffer(info);
        if (retval < 0) {
-               iounmap(info->screen_base);
                framebuffer_release(info);
                return retval;
        }
@@ -380,7 +380,6 @@ static int __devexit cobalt_lcdfb_remove(struct 
platform_device *dev)
 
        info = platform_get_drvdata(dev);
        if (info) {
-               iounmap(info->screen_base);
                unregister_framebuffer(info);
                framebuffer_release(info);
        }

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to