[Cbe-oss-dev] [PATCH 1/2] usb: Remove ehci_reset call from ehci_run

Alan Stern stern at rowland.harvard.edu
Sat Nov 19 02:33:54 EST 2011


On Thu, 17 Nov 2011, Geoff Levand wrote:

> Remove the ehci_reset() call done in the ehci_run() routine of the
> USB EHCI host controller driver and add an ehci_reset() call to the
> probe routine of all EHCI platform drivers that do not already call
> ehci_reset().
> 
> The call to ehci_reset() from ehci_run() was problematic for several
> platform drivers, and unnecessary for others.  This change moves the
> decision to call ehci_reset() at driver startup to the platform
> driver code.

I'm afraid much of this work was unnecessary.

> Signed-off-by: Geoff Levand <geoff at infradead.org>
> ---
>  drivers/usb/host/ehci-ath79.c     |    2 ++
>  drivers/usb/host/ehci-au1xxx.c    |    1 +
>  drivers/usb/host/ehci-cns3xxx.c   |    3 +++
>  drivers/usb/host/ehci-fsl.c       |    2 ++
>  drivers/usb/host/ehci-grlib.c     |    2 ++
>  drivers/usb/host/ehci-hcd.c       |   11 +----------
>  drivers/usb/host/ehci-ixp4xx.c    |    2 ++
>  drivers/usb/host/ehci-msm.c       |    2 ++
>  drivers/usb/host/ehci-mxc.c       |    2 ++
>  drivers/usb/host/ehci-octeon.c    |    2 ++
>  drivers/usb/host/ehci-omap.c      |    2 ++
>  drivers/usb/host/ehci-orion.c     |    2 ++
>  drivers/usb/host/ehci-pmcmsp.c    |    3 +++
>  drivers/usb/host/ehci-ppc-of.c    |    2 ++
>  drivers/usb/host/ehci-ps3.c       |    2 ++
>  drivers/usb/host/ehci-pxa168.c    |    2 ++
>  drivers/usb/host/ehci-s5p.c       |    2 ++
>  drivers/usb/host/ehci-sh.c        |    2 ++
>  drivers/usb/host/ehci-spear.c     |    2 ++
>  drivers/usb/host/ehci-tegra.c     |    2 ++
>  drivers/usb/host/ehci-vt8500.c    |    1 +
>  drivers/usb/host/ehci-w90x900.c   |    2 ++
>  drivers/usb/host/ehci-xilinx-of.c |    3 +++
>  drivers/usb/host/ehci-xls.c       |    3 +++
>  24 files changed, 49 insertions(+), 10 deletions(-)
> 
> diff --git a/drivers/usb/host/ehci-ath79.c b/drivers/usb/host/ehci-ath79.c
> index afb6743..ca7ffe9 100644
> --- a/drivers/usb/host/ehci-ath79.c
> +++ b/drivers/usb/host/ehci-ath79.c
> @@ -167,6 +167,8 @@ static int ehci_ath79_probe(struct platform_device *pdev)
>  	if (ret)
>  		goto err_iounmap;
>  
> +	ehci_reset(hcd_to_ehci(hcd));
> +

Take this as a simple example case.  You don't need to add a call to
ehci_reset() in the probe routine here, because ehci_ath79_init()  
already has such a call.

The same sort of thing is true in almost all of the other platform 
drivers.  Maybe all of them; I haven't checked.

Alan Stern



More information about the cbe-oss-dev mailing list