Re: [PATCH] drivers: video: mxsfb: clean use of devm_ioremap_resource()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Tuesday, May 14, 2013 6:25 PM, Laurent Navet wrote:
> 
> Check of 'res' and calls to dev_err are already done in devm_ioremap_resource,
> so no need to do them twice.
> 
> Signed-off-by: Laurent Navet <laurent.navet@xxxxxxxxx>
> ---
>  drivers/video/mxsfb.c |   14 ++++----------
>  1 file changed, 4 insertions(+), 10 deletions(-)
> 
> diff --git a/drivers/video/mxsfb.c b/drivers/video/mxsfb.c
> index 21223d4..0f3d0fc 100644
> --- a/drivers/video/mxsfb.c
> +++ b/drivers/video/mxsfb.c
> @@ -884,9 +884,10 @@ static int mxsfb_probe(struct platform_device *pdev)
>  		pdev->id_entry = of_id->data;
> 
>  	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	if (!res) {
> -		dev_err(&pdev->dev, "Cannot get memory IO resource\n");
> -		return -ENODEV;
> +	host->base = devm_ioremap_resource(&pdev->dev, res);
> +	if (IS_ERR(host->base)) {
> +		ret = PTR_ERR(host->base);
> +		goto fb_release;

It makes build warning as below:

drivers/video/mxsfb.c:887:13: warning: 'host' is used uninitialized in this function [-Wuninitialized]
drivers/video/mxsfb.c:965:21: warning: 'fb_info' may be used uninitialized in this function [-Wuninitialized]

It breaks the assignment.
	host = to_imxfb_host(fb_info);

Also, 'goto fb_release;' is not good.
Please use ' return PTR_ERR(host->base);' as below:
+       host->base = devm_ioremap_resource(&pdev->dev, res);
+       if (IS_ERR(host->base))
+               return PTR_ERR(host->base);


Best regards,
Jingoo Han

>  	}
> 
>  	fb_info = framebuffer_alloc(sizeof(struct mxsfb_info), &pdev->dev);
> @@ -897,13 +898,6 @@ static int mxsfb_probe(struct platform_device *pdev)
> 
>  	host = to_imxfb_host(fb_info);
> 
> -	host->base = devm_ioremap_resource(&pdev->dev, res);
> -	if (IS_ERR(host->base)) {
> -		dev_err(&pdev->dev, "ioremap failed\n");
> -		ret = PTR_ERR(host->base);
> -		goto fb_release;
> -	}
> -
>  	host->pdev = pdev;
>  	platform_set_drvdata(pdev, host);
> 
> --
> 1.7.10.4
ÿ淸º{.nÇ+돴윯돪†+%듚ÿ깁負¥Šwÿº{.nÇ+돴¥Š{깰鍼zÿâ왲^n‡r⊆¦zË곷h솳鈺Ú&{àz요z받쀺+€Ê+zf"·hš닱~넮녬iÿÿï곴ÿ묎çz_溫æj:+v돣þ)山øm





[Index of Archives]     [Video for Linux]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Tourism]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux