Re: [RFC] introduce a common ehci_setup

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Feb 15, 2011 at 06:49:07PM +0100, castet.matthieu@xxxxxxx wrote:
> This could help to clean platform driver and unify them.
> 
> I Wonder if we should include in the generic setup :
>  - ehci->sbrn = 0x20;
>  - set of ehci_port_power. What strange is that some driver do
> ehci_port_power(ehci, 0) and other ehci_port_power(ehci, 1)
> 
> Matthieu
> 
> 
> ---
>  drivers/usb/host/ehci-atmel.c |   20 ++------------------
>  drivers/usb/host/ehci-fsl.c   |   23 ++---------------------
>  drivers/usb/host/ehci-hcd.c   |   29 +++++++++++++++++++++++++++++
>  drivers/usb/host/ehci-msm.c   |   18 +-----------------
>  4 files changed, 34 insertions(+), 56 deletions(-)
> 
> diff --git a/drivers/usb/host/ehci-atmel.c b/drivers/usb/host/ehci-atmel.c
> index d6a69d5..559f1a3 100644
> --- a/drivers/usb/host/ehci-atmel.c
> +++ b/drivers/usb/host/ehci-atmel.c
> @@ -53,28 +53,12 @@ static int ehci_atmel_setup(struct usb_hcd *hcd)
>  	struct ehci_hcd *ehci = hcd_to_ehci(hcd);
>  	int retval = 0;
> 
> -	/* registers start at offset 0x0 */
> -	ehci->caps = hcd->regs;
> -	ehci->regs = hcd->regs +
> -		HC_LENGTH(ehci_readl(ehci, &ehci->caps->hc_capbase));
> -	dbg_hcs_params(ehci, "reset");
> -	dbg_hcc_params(ehci, "reset");
> -
> -	/* cache this readonly data; minimize chip reads */
> -	ehci->hcs_params = ehci_readl(ehci, &ehci->caps->hcs_params);
> -
> -	retval = ehci_halt(ehci);
> -	if (retval)
> -		return retval;
> +	ehci->sbrn = 0x20;
> 
> -	/* data structure init */
> -	retval = ehci_init(hcd);
> +	retval = ehci_setup(hcd);

Why not pass in ehci instead of hcd, causing you to back-cast again?

thanks,

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


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux