[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20130312120648.GB27461@S2101-09.ap.freescale.net>
Date: Tue, 12 Mar 2013 20:06:50 +0800
From: Shawn Guo <shawn.guo@...aro.org>
To: Fabio Estevam <festevam@...il.com>
CC: <FlorianSchandinat@....de>, <akpm@...ux-foundation.org>,
<linux-kernel@...r.kernel.org>,
Fabio Estevam <fabio.estevam@...escale.com>
Subject: Re: [PATCH] video: mxsfb: Convert to devm_ioremap_resource()
On Mon, Mar 11, 2013 at 08:52:17PM -0300, Fabio Estevam wrote:
> From: Fabio Estevam <fabio.estevam@...escale.com>
>
> Converting to devm_ioremap_resource() can make the code cleaner and smaller.
>
While you are there, you may want to use devm_kzalloc() and
devm_clk_get() as well.
Shawn
> Signed-off-by: Fabio Estevam <fabio.estevam@...escale.com>
> ---
> drivers/video/mxsfb.c | 19 ++++---------------
> 1 file changed, 4 insertions(+), 15 deletions(-)
>
> diff --git a/drivers/video/mxsfb.c b/drivers/video/mxsfb.c
> index 755556c..26cbc56 100644
> --- a/drivers/video/mxsfb.c
> +++ b/drivers/video/mxsfb.c
> @@ -801,22 +801,17 @@ static int mxsfb_probe(struct platform_device *pdev)
> return -ENODEV;
> }
>
> - if (!request_mem_region(res->start, resource_size(res), pdev->name))
> - return -EBUSY;
> -
> fb_info = framebuffer_alloc(sizeof(struct mxsfb_info), &pdev->dev);
> if (!fb_info) {
> dev_err(&pdev->dev, "Failed to allocate fbdev\n");
> - ret = -ENOMEM;
> - goto error_alloc_info;
> + return -ENOMEM;
> }
>
> host = to_imxfb_host(fb_info);
>
> - host->base = ioremap(res->start, resource_size(res));
> - if (!host->base) {
> - dev_err(&pdev->dev, "ioremap failed\n");
> - ret = -ENOMEM;
> + host->base = devm_ioremap_resource(&pdev->dev, res);
> + if (IS_ERR(host->base)) {
> + return PTR_ERR(host->base);
> goto error_ioremap;
> }
>
> @@ -904,11 +899,8 @@ error_panel_enable:
> clk_put(host->clk);
> error_getclock:
> error_getpin:
> - iounmap(host->base);
> error_ioremap:
> framebuffer_release(fb_info);
> -error_alloc_info:
> - release_mem_region(res->start, resource_size(res));
>
> return ret;
> }
> @@ -917,7 +909,6 @@ static int mxsfb_remove(struct platform_device *pdev)
> {
> struct fb_info *fb_info = platform_get_drvdata(pdev);
> struct mxsfb_info *host = to_imxfb_host(fb_info);
> - struct resource *res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>
> if (host->enabled)
> mxsfb_disable_controller(fb_info);
> @@ -925,11 +916,9 @@ static int mxsfb_remove(struct platform_device *pdev)
> unregister_framebuffer(fb_info);
> kfree(fb_info->pseudo_palette);
> mxsfb_free_videomem(host);
> - iounmap(host->base);
> clk_put(host->clk);
>
> framebuffer_release(fb_info);
> - release_mem_region(res->start, resource_size(res));
>
> platform_set_drvdata(pdev, NULL);
>
> --
> 1.7.9.5
>
--
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