Hi, 2011/9/23 Marek Vasut <marek.va...@gmail.com>: > Signed-off-by: Marek Vasut <marek.va...@gmail.com> > Cc: Remy Bohmer <li...@bohmer.net> > --- > drivers/usb/host/ehci-hcd.c | 33 ++++++++++++++++++++++++++++++++- > 1 files changed, 32 insertions(+), 1 deletions(-) > > diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c > index 52b98c2..5b53b3a 100644 > --- a/drivers/usb/host/ehci-hcd.c > +++ b/drivers/usb/host/ehci-hcd.c > @@ -27,6 +27,10 @@ > #include <malloc.h> > #include <watchdog.h> > #include <usb/ehci-fsl.h> > +#ifdef CONFIG_USB_KEYBOARD > +#include <stdio_dev.h> > +extern unsigned char new[]; > +#endif > > #include "ehci.h" > > @@ -914,5 +918,32 @@ submit_int_msg(struct usb_device *dev, unsigned long > pipe, void *buffer, > > debug("dev=%p, pipe=%lu, buffer=%p, length=%d, interval=%d", > dev, pipe, buffer, length, interval); > - return -1; > + return ehci_submit_async(dev, pipe, buffer, length, NULL);
Why is changing this line needed? > +} > + > +#ifdef CONFIG_SYS_USB_EVENT_POLL > +/* > + * This function polls for USB keyboard data. > + */ > +void usb_event_poll() > +{ > + struct stdio_dev *dev; > + struct usb_device *usb_kbd_dev; > + struct usb_interface *iface; > + struct usb_endpoint_descriptor *ep; > + int pipe; > + int maxp; > + > + /* Get the pointer to USB Keyboard device pointer */ > + dev = stdio_get_by_name("usbkbd"); > + usb_kbd_dev = (struct usb_device *)dev->priv; > + iface = &usb_kbd_dev->config.if_desc[0]; > + ep = &iface->ep_desc[0]; > + pipe = usb_rcvintpipe(usb_kbd_dev, ep->bEndpointAddress); > + > + /* Submit a interrupt transfer request */ > + maxp = usb_maxpacket(usb_kbd_dev, pipe); > + usb_submit_int_msg(usb_kbd_dev, pipe, &new[0], > + maxp > 8 ? 8 : maxp, ep->bInterval); > } > +#endif /* CONFIG_SYS_USB_EVENT_POLL */ Patch does not apply to u-boot-usb master. Please rebase this patch. Kind regards, Remy _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot