The various devm_ functions allocate memory that is released when a driver
detaches. This patch replaces the use of kzalloc by devm_kzalloc.
Additionally, this patch fixes a memory leak: some memory was allocated for
'panel' but not released when the subsequent call to setup_vsync fails.
Signed-off-by: Damien Cassou <damien.cassou@lifl.fr>
Acked-by: David Brown <davidb@codeaurora.org>
Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
 
        int ret;
 
-       struct panel_info *panel = kzalloc(sizeof(struct panel_info),
-                                          GFP_KERNEL);
+       struct panel_info *panel = devm_kzalloc(&pdev->dev,
+                                               sizeof(struct panel_info),
+                                               GFP_KERNEL);
 
        printk(KERN_DEBUG "%s: enter.\n", __func__);
 
        struct panel_info *panel = platform_get_drvdata(pdev);
 
        setup_vsync(panel, 0);
-       kfree(panel);
        return 0;
 }