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 > ÿô.nÇ·®+%˱é¥wÿº{.nÇ·¥{±þë)íèjg¬±¨¶Ýjÿ¾«þG«é¸¢·¦j:+v¨wèm¶ÿþø®w¥þ࣢·hâÿÙ