Messages in this thread Patch in this message | | | Date | Tue, 10 Jun 2014 09:57:56 +0800 | From | Kefeng Wang <> | Subject | [PATCH] cpc925_eadc: Use devm_ioremap_resource() |
| |
Convert to devm_ioremap_resource() to simplify code.
Signed-off-by: Kefeng Wang <wangkefeng.wang@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
| |