diff options
author | Jingoo Han <jg1.han@samsung.com> | 2014-02-11 21:29:42 -0500 |
---|---|---|
committer | Brian Norris <computersforpeace@gmail.com> | 2014-03-26 02:21:08 -0400 |
commit | 7995204e3c89820c4621af90b0e5f9ca0b375471 (patch) | |
tree | 2c9d2f575222d47483fd0032bdbb47b40bdb2eb0 | |
parent | c7ea95a377921efd0f0fa3e64852f5cc3d7ffc47 (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.c | 39 |
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 | ||
33 | static 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 | |||
51 | static const struct of_device_id denali_nand_dt_ids[] = { | 33 | static 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)) { |