[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <1355096678.6821.3.camel@gitbox>
Date: Mon, 10 Dec 2012 12:44:38 +1300
From: Tony Prisk <linux@...sktech.co.nz>
To: Julia Lawall <Julia.Lawall@...6.fr>
Cc: linux-fbdev@...r.kernel.org, kernel-janitors@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
Florian Tobias Schandinat <FlorianSchandinat@....de>
Subject: Re: [Bulk] [PATCH] drivers/video/wm8505fb.c: use devm_ functions
On Sun, 2012-12-09 at 19:08 +0100, Julia Lawall wrote:
> From: Julia Lawall <Julia.Lawall@...6.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.
>
> The patch makes some other cleanups. First, the original code used
> devm_kzalloc, but kfree. This would lead to a double free. The problem
> was found using the following semantic match (http://coccinelle.lip6.fr/):
>
> // <smpl>
> @@
> expression x,e;
> @@
> x = devm_kzalloc(...)
> ... when != x = e
> ?-kfree(x,...);
> // </smpl>
>
> The error-handing code of devm_request_and_ioremap does not print any
> warning message, because devm_request_and_ioremap does this.
>
> The call to dma_alloc_coherent is converted to its devm equivalent,
> dmam_alloc_coherent. This implicitly introduces a call to
> dmam_free_coherent, which was completly missing in the original code.
>
> A semicolon is removed at the end of the error-handling code for the call
> to dma_alloc_coherent.
>
> The block of code calling fb_alloc_cmap is moved below the block of code
> calling wm8505fb_set_par, so that the error-handing code of the call to
> wm8505fb_set_par can just return ret. This way there is only one block of
> error-handling code that needs to call fb_dealloc_cmap, and so this is
> moved up to the place where it is needed, eliminating the need for all
> gotos and labels in the function. This was suggested by Tony Prisk.
>
> The initializations of fbi and ret at the beginning of the function are not
> necessary and are removed. The call platform_set_drvdata(pdev, NULL); at
> the end of the function is also removed.
>
> Signed-off-by: Julia Lawall <Julia.Lawall@...6.fr>
>
> ---
> Only compiled. Not tested.
Thanks Julia,
I will include this with the other patches we have for fbdev. I have
tested this on WM8650 and all appears fine.
Regards
Tony P
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists