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

Commit 3e4240da authored by Andrew Lunn's avatar Andrew Lunn Committed by Tejun Heo
Browse files

Revert "ata: sata_mv: Convert to devm_ioremap_resource()"



This reverts commit 368e5fbd.

devm_ioremap_resource() enforces that there are no overlapping
resources, where as devm_ioremap() does not. The sata phy driver needs
a subset of the sata IO address space, so maps some of the sata
address space. As a result, sata_mv now fails to probe, reporting it
cannot get its resources, and so we don't have any SATA disks.

Signed-off-by: default avatarAndrew Lunn <andrew@lunn.ch>
Acked-by: default avatarGregory CLEMENT <gregory.clement@free-electrons.com>
Cc: stable@vger.kernel.org # v4.11+
Signed-off-by: default avatarTejun Heo <tj@kernel.org>
parent c034640a
Loading
Loading
Loading
Loading
+8 −5
Original line number Diff line number Diff line
@@ -4067,7 +4067,6 @@ static int mv_platform_probe(struct platform_device *pdev)
	struct ata_host *host;
	struct mv_host_priv *hpriv;
	struct resource *res;
	void __iomem *mmio;
	int n_ports = 0, irq = 0;
	int rc;
	int port;
@@ -4086,9 +4085,8 @@ static int mv_platform_probe(struct platform_device *pdev)
	 * Get the register base first
	 */
	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
	mmio = devm_ioremap_resource(&pdev->dev, res);
	if (IS_ERR(mmio))
		return PTR_ERR(mmio);
	if (res == NULL)
		return -EINVAL;

	/* allocate host */
	if (pdev->dev.of_node) {
@@ -4132,7 +4130,12 @@ static int mv_platform_probe(struct platform_device *pdev)
	hpriv->board_idx = chip_soc;

	host->iomap = NULL;
	hpriv->base = mmio - SATAHC0_REG_BASE;
	hpriv->base = devm_ioremap(&pdev->dev, res->start,
				   resource_size(res));
	if (!hpriv->base)
		return -ENOMEM;

	hpriv->base -= SATAHC0_REG_BASE;

	hpriv->clk = clk_get(&pdev->dev, NULL);
	if (IS_ERR(hpriv->clk))