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

Commit 1eacd7b8 authored by Ryder Lee's avatar Ryder Lee Committed by Bjorn Helgaas
Browse files

PCI: mediatek: Switch to use platform_get_resource_byname()



This is a transitional patch.  We currently use platfarm_get_resource() for
retrieving the IOMEM resources, but there might be some chips don't have
subsys/shared registers part, which depends on platform design, and these
will be introduced in further patches.

Switch this function to use the platform_get_resource_byname() so that the
binding can be agnostic of the resource order.

Signed-off-by: default avatarRyder Lee <ryder.lee@mediatek.com>
Signed-off-by: default avatarHonghui Zhang <honghui.zhang@mediatek.com>
Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
parent c681c930
Loading
Loading
Loading
Loading
+10 −7
Original line number Diff line number Diff line
@@ -295,7 +295,8 @@ static int mtk_pcie_parse_port(struct mtk_pcie *pcie,
		return err;
	}

	regs = platform_get_resource(pdev, IORESOURCE_MEM, slot + 1);
	snprintf(name, sizeof(name), "port%d", slot);
	regs = platform_get_resource_byname(pdev, IORESOURCE_MEM, name);
	port->base = devm_ioremap_resource(dev, regs);
	if (IS_ERR(port->base)) {
		dev_err(dev, "failed to map port%d base\n", slot);
@@ -336,13 +337,15 @@ static int mtk_pcie_subsys_powerup(struct mtk_pcie *pcie)
	struct resource *regs;
	int err;

	/* get shared registers */
	regs = platform_get_resource(pdev, IORESOURCE_MEM, 0);
	/* get shared registers, which are optional */
	regs = platform_get_resource_byname(pdev, IORESOURCE_MEM, "subsys");
	if (regs) {
		pcie->base = devm_ioremap_resource(dev, regs);
		if (IS_ERR(pcie->base)) {
			dev_err(dev, "failed to map shared register\n");
			return PTR_ERR(pcie->base);
		}
	}

	pcie->free_ck = devm_clk_get(dev, "free_ck");
	if (IS_ERR(pcie->free_ck)) {