Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7995204e authored by Jingoo Han's avatar Jingoo Han Committed by Brian Norris
Browse files

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: default avatarJingoo Han <jg1.han@samsung.com>
Tested-by: default avatarDinh Nguyen <dinguyen@altera.com>
Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
parent c7ea95a3
Loading
Loading
Loading
Loading
+8 −31
Original line number Diff line number Diff line
@@ -30,24 +30,6 @@ struct denali_dt {
	struct clk		*clk;
};

static void __iomem *request_and_map(struct device *dev,
				     const struct resource *res)
{
	void __iomem *ptr;

	if (!devm_request_mem_region(dev, res->start, resource_size(res),
				     "denali-dt")) {
		dev_err(dev, "unable to request %s\n", res->name);
		return NULL;
	}

	ptr = devm_ioremap_nocache(dev, res->start, resource_size(res));
	if (!ptr)
		dev_err(dev, "ioremap_nocache of %s failed!", res->name);

	return ptr;
}

static const struct of_device_id denali_nand_dt_ids[] = {
		{ .compatible = "denali,denali-nand-dt" },
		{ /* sentinel */ }
@@ -78,13 +60,6 @@ static int denali_dt_probe(struct platform_device *ofdev)
		return -ENOMEM;
	denali = &dt->denali;

	denali_reg = platform_get_resource_byname(ofdev, IORESOURCE_MEM, "denali_reg");
	nand_data = platform_get_resource_byname(ofdev, IORESOURCE_MEM, "nand_data");
	if (!denali_reg || !nand_data) {
		dev_err(&ofdev->dev, "resources not completely defined\n");
		return -EINVAL;
	}

	denali->platform = DT;
	denali->dev = &ofdev->dev;
	denali->irq = platform_get_irq(ofdev, 0);
@@ -93,13 +68,15 @@ static int denali_dt_probe(struct platform_device *ofdev)
		return denali->irq;
	}

	denali->flash_reg = request_and_map(&ofdev->dev, denali_reg);
	if (!denali->flash_reg)
		return -ENOMEM;
	denali_reg = platform_get_resource_byname(ofdev, IORESOURCE_MEM, "denali_reg");
	denali->flash_reg = devm_ioremap_resource(&ofdev->dev, denali_reg);
	if (IS_ERR(denali->flash_reg))
		return PTR_ERR(denali->flash_reg);

	denali->flash_mem = request_and_map(&ofdev->dev, nand_data);
	if (!denali->flash_mem)
		return -ENOMEM;
	nand_data = platform_get_resource_byname(ofdev, IORESOURCE_MEM, "nand_data");
	denali->flash_mem = devm_ioremap_resource(&ofdev->dev, nand_data);
	if (IS_ERR(denali->flash_mem))
		return PTR_ERR(denali->flash_mem);

	if (!of_property_read_u32(ofdev->dev.of_node,
		"dma-mask", (u32 *)&denali_dma_mask)) {