summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/mtd/maps/physmap.c23
1 files changed, 6 insertions, 17 deletions
diff --git a/drivers/mtd/maps/physmap.c b/drivers/mtd/maps/physmap.c
index b98072a67d74..1d0f6f034a03 100644
--- a/drivers/mtd/maps/physmap.c
+++ b/drivers/mtd/maps/physmap.c
@@ -129,17 +129,15 @@ static int physmap_flash_probe(struct platform_device *dev)
if (!res)
break;
- dev_notice(&dev->dev, "physmap platform flash device: %pR\n",
- res);
-
- if (!devm_request_mem_region(&dev->dev, res->start,
- resource_size(res),
- dev_name(&dev->dev))) {
- dev_err(&dev->dev, "Could not reserve memory region\n");
- err = -ENOMEM;
+ info->maps[i].virt = devm_ioremap_resource(&dev->dev, res);
+ if (IS_ERR(info->maps[i].virt)) {
+ err = PTR_ERR(info->maps[i].virt);
goto err_out;
}
+ dev_notice(&dev->dev, "physmap platform flash device: %pR\n",
+ res);
+
info->maps[i].name = dev_name(&dev->dev);
info->maps[i].phys = res->start;
info->maps[i].size = resource_size(res);
@@ -148,15 +146,6 @@ static int physmap_flash_probe(struct platform_device *dev)
info->maps[i].pfow_base = physmap_data->pfow_base;
info->maps[i].map_priv_1 = (unsigned long)dev;
- info->maps[i].virt = devm_ioremap(&dev->dev,
- info->maps[i].phys,
- info->maps[i].size);
- if (info->maps[i].virt == NULL) {
- dev_err(&dev->dev, "Failed to ioremap flash region\n");
- err = -EIO;
- goto err_out;
- }
-
simple_map_init(&info->maps[i]);
probe_type = rom_probe_types;