RE: [PATCH] USB: ehci/mxc: compile fix

From: Nguyen Dinh-R00091
Date: Tue Nov 02 2010 - 10:05:06 EST


Hi Uwe,

> -----Original Message-----
> From: Uwe Kleine-KÃnig [mailto:u.kleine-koenig@xxxxxxxxxxxxxx]
> Sent: Tuesday, November 02, 2010 4:31 AM
> To: Greg KH
> Cc: kernel@xxxxxxxxxxxxxx; Sergei Shtylyov; matthieu.castet@xxxxxxxxxx;
> linux-kernel@xxxxxxxxxxxxxxx; linux-usb@xxxxxxxxxxxxxxx; Nguyen Dinh-
> R00091; Nguyen Dinh-R00091; Alan Stern
> Subject: [PATCH] USB: ehci/mxc: compile fix
>
> Commit
> 65fd427 (USB: ehci tdi : let's tdi_reset set host mode)
>
> broke the build using ARM's mx51_defconfig:
>
> CC drivers/usb/host/ehci-hcd.o
> In file included from drivers/usb/host/ehci-hcd.c:1166:
> drivers/usb/host/ehci-mxc.c: In function 'ehci_mxc_drv_probe':
> drivers/usb/host/ehci-mxc.c:192: error: 'ehci' undeclared (first
> use in this function)
> drivers/usb/host/ehci-mxc.c:192: error: (Each undeclared identifier
> is reported only once
> drivers/usb/host/ehci-mxc.c:192: error: for each function it
> appears in.)
> drivers/usb/host/ehci-mxc.c:117: warning: unused variable 'temp'
> make[3]: *** [drivers/usb/host/ehci-hcd.o] Error 1
> make[2]: *** [drivers/usb/host/ehci-hcd.o] Error 2
> make[1]: *** [sub-make] Error 2
> make: *** [all] Error 2
>
> Fix it together with the warning about the unused variable and use
> msleep instead of mdelay as requested by Alan Stern.
>
> Cc: Dinh Nguyen <Dinh.Nguyen@xxxxxxxxxxxxx>
> Cc: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Uwe Kleine-KÃnig <u.kleine-koenig@xxxxxxxxxxxxxx>
> ---
> Hello,
>
> I currently have no hardware to test it, so I only verified it to
> compile.
>
> Dinh: I changed your Tested-by to Cc for the new patch, do you care to
> retest?

Retested - check!

>
> Best regards
> Uwe
> ---
> drivers/usb/host/ehci-mxc.c | 14 +++++++++-----
> 1 files changed, 9 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/usb/host/ehci-mxc.c b/drivers/usb/host/ehci-mxc.c
> index ac9c4d7..bce8505 100644
> --- a/drivers/usb/host/ehci-mxc.c
> +++ b/drivers/usb/host/ehci-mxc.c
> @@ -36,6 +36,8 @@ struct ehci_mxc_priv {
> static int ehci_mxc_setup(struct usb_hcd *hcd)
> {
> struct ehci_hcd *ehci = hcd_to_ehci(hcd);
> + struct device *dev = hcd->self.controller;
> + struct mxc_usbh_platform_data *pdata = dev_get_platdata(dev);
> int retval;
>
> /* EHCI registers start at offset 0x100 */
> @@ -63,6 +65,12 @@ static int ehci_mxc_setup(struct usb_hcd *hcd)
>
> ehci_reset(ehci);
>
> + /* set up the PORTSCx register */
> + ehci_writel(ehci, pdata->portsc, &ehci->regs->port_status[0]);
> +
> + /* is this really needed? */
> + msleep(10);
> +
> ehci_port_power(ehci, 0);
> return 0;
> }
> @@ -114,7 +122,7 @@ static int ehci_mxc_drv_probe(struct platform_device
> *pdev)
> struct mxc_usbh_platform_data *pdata = pdev->dev.platform_data;
> struct usb_hcd *hcd;
> struct resource *res;
> - int irq, ret, temp;
> + int irq, ret;
> struct ehci_mxc_priv *priv;
> struct device *dev = &pdev->dev;
>
> @@ -188,10 +196,6 @@ static int ehci_mxc_drv_probe(struct platform_device
> *pdev)
> clk_enable(priv->ahbclk);
> }
>
> - /* set up the PORTSCx register */
> - ehci_writel(ehci, pdata->portsc, &ehci->regs->port_status[0]);
> - mdelay(10);
> -
> /* setup specific usb hw */
> ret = mxc_initialize_usb_hw(pdev->id, pdata->flags);
> if (ret < 0)
> --
> 1.7.2.3
>

¢éì®&Þ~º&¶¬–+-±éÝ¥Šw®žË±Êâmébžìdz¹Þ)í…æèw*jg¬±¨¶‰šŽŠÝj/êäz¹ÞŠà2ŠÞ¨è­Ú&¢)ß«a¶Úþø®G«éh®æj:+v‰¨Šwè†Ù>Wš±êÞiÛaxPjØm¶Ÿÿà -»+ƒùdš_