aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJingoo Han <jg1.han@samsung.com>2014-02-11 21:29:42 -0500
committerBrian Norris <computersforpeace@gmail.com>2014-03-26 02:21:08 -0400
commit7995204e3c89820c4621af90b0e5f9ca0b375471 (patch)
tree2c9d2f575222d47483fd0032bdbb47b40bdb2eb0
parentc7ea95a377921efd0f0fa3e64852f5cc3d7ffc47 (diff)
mtd: denali_dt: Use devm_ioremap_resource()
Use devm_ioremap_resource() in order to make the code simpler, and remove redundant return value check of platform_get_resource_byname() because the value is checked by devm_ioremap_resource(). Signed-off-by: Jingoo Han <jg1.han@samsung.com> Tested-by: Dinh Nguyen <dinguyen@altera.com> Signed-off-by: Brian Norris <computersforpeace@gmail.com>
-rw-r--r--drivers/mtd/nand/denali_dt.c39
1 files changed, 8 insertions, 31 deletions
diff --git a/drivers/mtd/nand/denali_dt.c b/drivers/mtd/nand/denali_dt.c
index babb02c4b220..35cb17f57800 100644
--- a/drivers/mtd/nand/denali_dt.c
+++ b/drivers/mtd/nand/denali_dt.c
@@ -30,24 +30,6 @@ struct denali_dt {
30 struct clk *clk; 30 struct clk *clk;
31}; 31};
32 32
33static void __iomem *request_and_map(struct device *dev,
34 const struct resource *res)
35{
36 void __iomem *ptr;
37
38 if (!devm_request_mem_region(dev, res->start, resource_size(res),
39 "denali-dt")) {
40 dev_err(dev, "unable to request %s\n", res->name);
41 return NULL;
42 }
43
44 ptr = devm_ioremap_nocache(dev, res->start, resource_size(res));
45 if (!ptr)
46 dev_err(dev, "ioremap_nocache of %s failed!", res->name);
47
48 return ptr;
49}
50
51static const struct of_device_id denali_nand_dt_ids[] = { 33static const struct of_device_id denali_nand_dt_ids[] = {
52 { .compatible = "denali,denali-nand-dt" }, 34 { .compatible = "denali,denali-nand-dt" },
53 { /* sentinel */ } 35 { /* sentinel */ }
@@ -78,13 +60,6 @@ static int denali_dt_probe(struct platform_device *ofdev)
78 return -ENOMEM; 60 return -ENOMEM;
79 denali = &dt->denali; 61 denali = &dt->denali;
80 62
81 denali_reg = platform_get_resource_byname(ofdev, IORESOURCE_MEM, "denali_reg");
82 nand_data = platform_get_resource_byname(ofdev, IORESOURCE_MEM, "nand_data");
83 if (!denali_reg || !nand_data) {
84 dev_err(&ofdev->dev, "resources not completely defined\n");
85 return -EINVAL;
86 }
87
88 denali->platform = DT; 63 denali->platform = DT;
89 denali->dev = &ofdev->dev; 64 denali->dev = &ofdev->dev;
90 denali->irq = platform_get_irq(ofdev, 0); 65 denali->irq = platform_get_irq(ofdev, 0);
@@ -93,13 +68,15 @@ static int denali_dt_probe(struct platform_device *ofdev)
93 return denali->irq; 68 return denali->irq;
94 } 69 }
95 70
96 denali->flash_reg = request_and_map(&ofdev->dev, denali_reg); 71 denali_reg = platform_get_resource_byname(ofdev, IORESOURCE_MEM, "denali_reg");
97 if (!denali->flash_reg) 72 denali->flash_reg = devm_ioremap_resource(&ofdev->dev, denali_reg);
98 return -ENOMEM; 73 if (IS_ERR(denali->flash_reg))
74 return PTR_ERR(denali->flash_reg);
99 75
100 denali->flash_mem = request_and_map(&ofdev->dev, nand_data); 76 nand_data = platform_get_resource_byname(ofdev, IORESOURCE_MEM, "nand_data");
101 if (!denali->flash_mem) 77 denali->flash_mem = devm_ioremap_resource(&ofdev->dev, nand_data);
102 return -ENOMEM; 78 if (IS_ERR(denali->flash_mem))
79 return PTR_ERR(denali->flash_mem);
103 80
104 if (!of_property_read_u32(ofdev->dev.of_node, 81 if (!of_property_read_u32(ofdev->dev.of_node,
105 "dma-mask", (u32 *)&denali_dma_mask)) { 82 "dma-mask", (u32 *)&denali_dma_mask)) {