Convert to devm_ioremap_resource() to simplify code. Signed-off-by: Kefeng Wang <wangkefeng.w...@huawei.com> --- drivers/edac/cpc925_edac.c | 30 ++++++------------------------ 1 files changed, 6 insertions(+), 24 deletions(-)
diff --git a/drivers/edac/cpc925_edac.c b/drivers/edac/cpc925_edac.c index df6575f..b335c14 100644 --- a/drivers/edac/cpc925_edac.c +++ b/drivers/edac/cpc925_edac.c @@ -950,28 +950,12 @@ static int cpc925_probe(struct platform_device *pdev) } r = platform_get_resource(pdev, IORESOURCE_MEM, 0); - if (!r) { - cpc925_printk(KERN_ERR, "Unable to get resource\n"); - res = -ENOENT; + vbase = devm_ioremap_resource(&pdev->dev, r); + if (IS_ERR(vbase)) { + res = PTR_ERR(vbase); goto err1; } - if (!devm_request_mem_region(&pdev->dev, - r->start, - resource_size(r), - pdev->name)) { - cpc925_printk(KERN_ERR, "Unable to request mem region\n"); - res = -EBUSY; - goto err1; - } - - vbase = devm_ioremap(&pdev->dev, r->start, resource_size(r)); - if (!vbase) { - cpc925_printk(KERN_ERR, "Unable to ioremap device\n"); - res = -ENOMEM; - goto err2; - } - nr_channels = cpc925_mc_get_channels(vbase) + 1; layers[0].type = EDAC_MC_LAYER_CHIP_SELECT; @@ -985,7 +969,7 @@ static int cpc925_probe(struct platform_device *pdev) if (!mci) { cpc925_printk(KERN_ERR, "No memory for mem_ctl_info\n"); res = -ENOMEM; - goto err2; + goto err1; } pdata = mci->pvt_info; @@ -1018,7 +1002,7 @@ static int cpc925_probe(struct platform_device *pdev) if (edac_mc_add_mc(mci) > 0) { cpc925_mc_printk(mci, KERN_ERR, "Failed edac_mc_add_mc()\n"); - goto err3; + goto err2; } cpc925_add_edac_devices(vbase); @@ -1029,11 +1013,9 @@ static int cpc925_probe(struct platform_device *pdev) res = 0; goto out; -err3: +err2: cpc925_mc_exit(mci); edac_mc_free(mci); -err2: - devm_release_mem_region(&pdev->dev, r->start, resource_size(r)); err1: devres_release_group(&pdev->dev, cpc925_probe); out: -- 1.7.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/