Revert "usb: host: ehci-msm: Use devm_ioremap_resource instead of devm_ioremap"

Message ID 1429600263-4366-1-git-send-email-ivan.ivanov@linaro.org
State Accepted
Commit bb304b71f8dbcb284f0f876dfb4eecbadf079773
Headers show

Commit Message

Ivan T. Ivanov April 21, 2015, 7:11 a.m.
This reverts commit 70843f623b58 ("usb: host: ehci-msm: Use
devm_ioremap_resource instead of devm_ioremap"), because msm_otg
and this driver are using same address space to access AHB mode
and USB command registers.

Cc: Vivek Gautam <gautam.vivek@samsung.com>
Signed-off-by: Ivan T. Ivanov <ivan.ivanov@linaro.org>
---
 drivers/usb/host/ehci-msm.c | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

--
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Ivan T. Ivanov April 21, 2015, 11:18 a.m. | #1
On Tue, 2015-04-21 at 16:46 +0530, Vivek Gautam wrote:
> Hi,
> 
> On Tuesday, April 21, 2015 12:41 PM "Ivan T. Ivanov"
> ivanov@linaro.org> wrote:
> > This reverts commit 70843f623b58 ("usb: host: ehci-msm: Use
> > devm_ioremap_resource instead of devm_ioremap"), because msm_otg
> > and this driver are using same address space to access AHB mode
> > and USB command registers.
> > 
> > Cc: Vivek Gautam vivek@samsung.com>
> 
> Since ehci-msm and msm_otg both want to control few USB registers,
> it makes sense to request ioremap'ed region in both drivers.
> 
> Acked-by: Vivek Gautam vivek@samsung.com>
> 
> I can see a patch in mailing list for adding both ehci-host and otg on msm
> [1].
> But I think it has not yet made it to mainline kernel.
> 
> [1] [v3,04/11] ARM: dts: apq8064: Add USB OTG support
> https://patches.linaro.org/47067/

Thanks. Ivan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Patch

diff --git a/drivers/usb/host/ehci-msm.c b/drivers/usb/host/ehci-msm.c
index 9db74ca..275c92e 100644
--- a/drivers/usb/host/ehci-msm.c
+++ b/drivers/usb/host/ehci-msm.c
@@ -88,13 +88,20 @@  static int ehci_msm_probe(struct platform_device *pdev)
 	}

 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	hcd->regs = devm_ioremap_resource(&pdev->dev, res);
-	if (IS_ERR(hcd->regs)) {
-		ret = PTR_ERR(hcd->regs);
+	if (!res) {
+		dev_err(&pdev->dev, "Unable to get memory resource\n");
+		ret = -ENODEV;
 		goto put_hcd;
 	}
+
 	hcd->rsrc_start = res->start;
 	hcd->rsrc_len = resource_size(res);
+	hcd->regs = devm_ioremap(&pdev->dev, hcd->rsrc_start, hcd->rsrc_len);
+	if (!hcd->regs) {
+		dev_err(&pdev->dev, "ioremap failed\n");
+		ret = -ENOMEM;
+		goto put_hcd;
+	}

 	/*
 	 * OTG driver takes care of PHY initialization, clock management,