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