2015-04-21 07:11:14

by Ivan T. Ivanov

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

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 <[email protected]>
Signed-off-by: Ivan T. Ivanov <[email protected]>
---
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


2015-04-21 11:14:26

by Vivek Gautam

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

Hi,

On Tuesday, April 21, 2015 12:41 PM "Ivan T. Ivanov"
<[email protected]> 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 <[email protected]>

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 <[email protected]>

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 <[email protected]>
> ---
> 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
>

2015-04-21 11:19:00

by Ivan T. Ivanov

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


On Tue, 2015-04-21 at 16:46 +0530, Vivek Gautam wrote:
> Hi,
>
> On Tuesday, April 21, 2015 12:41 PM "Ivan T. Ivanov"
> [email protected]> 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 [email protected]>
>
> 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 [email protected]>
>
> 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

2015-04-21 15:04:06

by Alan Stern

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

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 <[email protected]>
> Signed-off-by: Ivan T. Ivanov <[email protected]>
> ---
> 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
>
>
>

2015-04-21 15:57:51

by Ivan T. Ivanov

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


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

2015-04-21 16:56:57

by Alan Stern

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

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