rockchip: iommu: use devm_ioremap instead of ioremap when probe
authorsimon <xxm@rock-chips.com>
Fri, 22 Aug 2014 01:30:26 +0000 (09:30 +0800)
committersimon <xxm@rock-chips.com>
Fri, 22 Aug 2014 01:31:29 +0000 (09:31 +0800)
drivers/iommu/rockchip-iommu.c

index 3c1ca9d7c32b584bbad68fd677e03ff21f30d52d..ca87d01f95f8beabd8fc4eeb27559ea36f916f36 100755 (executable)
@@ -1218,7 +1218,7 @@ for (i = 0; i < pdev->num_resources; i++, res++) {
                        ret = -ENOENT;
                        goto err_res;
                }
-               data->res_bases[i] = ioremap(res->start, resource_size(res));
+               data->res_bases[i] = devm_ioremap(dev,res->start, resource_size(res));
                dev_dbg(dev,"res->start = 0x%08x  ioremap to  data->res_bases[%d] = 0x%08x\n",
                        res->start, i, (unsigned int)data->res_bases[i]);
                if (!data->res_bases[i]) {
@@ -1270,8 +1270,6 @@ for (i = 0; i < pdev->num_resources; i++, res++) {
 
 err_irq:
 err_res:
-       while (data->num_res_mem-- > 0)
-               devm_iounmap(dev,data->res_bases[data->num_res_mem]);
 err_init:
 err_alloc:
        dev_err(dev, "Failed to initialize\n");