Re: [PATCH] Revert "usb: host: ehci-msm: Use devm_ioremap_resource instead of devm_ioremap"

From: Vivek Gautam
Date: Tue Apr 21 2015 - 07:14:28 EST


Hi,

On Tuesday, April 21, 2015 12:41 PM "Ivan T. Ivanov"
<ivan.ivanov@xxxxxxxxxx> 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 <gautam.vivek@xxxxxxxxxxx>

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 <gautam.vivek@xxxxxxxxxxx>

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/

Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx>
---
drivers/usb/host/ehci-msm.c | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)

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,
--
1.9.1

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