diff mbox

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 (mailing list archive)
State Superseded, archived
Headers show

Commit Message

Ivan T. Ivanov April 21, 2015, 7:11 a.m. UTC
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

Vivek Gautam April 21, 2015, 11:16 a.m. UTC | #1
Hi,

On Tuesday, April 21, 2015 12:41 PM "Ivan T. Ivanov"
<ivan.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 <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 <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/

> Signed-off-by: Ivan T. Ivanov <ivan.ivanov@linaro.org>
> ---
> 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-arm-msm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Ivan T. Ivanov April 21, 2015, 11:18 a.m. UTC | #2
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-arm-msm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Alan Stern April 21, 2015, 3:04 p.m. UTC | #3
On Tue, 21 Apr 2015, Ivan T. Ivanov 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.

Um, this patch is in fact _not_ a reversion of 70843f623b58.  That
commit removed 4 lines of code and added 3.  If this were truly a
reversion, it would remove 3 lines and add 4.  Instead it adds 10.

Please make this a true reversion.

Alan Stern

> 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(-)
> 
> 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-arm-msm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Ivan T. Ivanov April 21, 2015, 3:57 p.m. UTC | #4
On Tue, 2015-04-21 at 11:04 -0400, Alan Stern wrote:
> On Tue, 21 Apr 2015, Ivan T. Ivanov 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.
> 
> Um, this patch is in fact _not_ a reversion of 70843f623b58.  That
> commit removed 4 lines of code and added 3.  If this were truly a
> reversion, it would remove 3 lines and add 4.  Instead it adds 10.
> 
> Please make this a true reversion.

Right, but I will have to revert 2 commits then, is this ok?

Ivan
--
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
Alan Stern April 21, 2015, 4:56 p.m. UTC | #5
On Tue, 21 Apr 2015, Ivan T. Ivanov wrote:

> 
> On Tue, 2015-04-21 at 11:04 -0400, Alan Stern wrote:
> > On Tue, 21 Apr 2015, Ivan T. Ivanov 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.
> > 
> > Um, this patch is in fact _not_ a reversion of 70843f623b58.  That
> > commit removed 4 lines of code and added 3.  If this were truly a
> > reversion, it would remove 3 lines and add 4.  Instead it adds 10.
> > 
> > Please make this a true reversion.
> 
> Right, but I will have to revert 2 commits then, is this ok?

Yes, that's okay.  I hadn't noticed that e507bf577e5a touched the same 
code.  Just mention them both in the patch description.

Alan Stern

--
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
diff mbox

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,