|
|
|
@ -116,32 +116,6 @@ extern int __maybe_unused net_busy_flag; |
|
|
|
|
/* The period of time between two calls of usb_kbd_testc(). */ |
|
|
|
|
static unsigned long __maybe_unused kbd_testc_tms; |
|
|
|
|
|
|
|
|
|
/* Generic keyboard event polling. */ |
|
|
|
|
void usb_kbd_generic_poll(void) |
|
|
|
|
{ |
|
|
|
|
struct stdio_dev *dev; |
|
|
|
|
struct usb_device *usb_kbd_dev; |
|
|
|
|
struct usb_kbd_pdata *data; |
|
|
|
|
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(DEVNAME); |
|
|
|
|
usb_kbd_dev = (struct usb_device *)dev->priv; |
|
|
|
|
data = usb_kbd_dev->privptr; |
|
|
|
|
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, data->new, |
|
|
|
|
min(maxp, USB_KBD_BOOT_REPORT_SIZE), |
|
|
|
|
ep->bInterval); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* Puts character in the queue and sets up the in and out pointer. */ |
|
|
|
|
static void usb_kbd_put_queue(struct usb_kbd_pdata *data, char c) |
|
|
|
|
{ |
|
|
|
|