
This patch populates the 'priv' field of the USB keyboard device_t structure. The 'priv' field is populated with the address of the 'struct usb_device' structure that represents the USB device.
The 'priv' field can then be used in the 'usb_event_poll' function to determine the USB device that requires to be polled. An example of its usage in 'usb_event_poll' function is as below.
device_t *dev; struct usb_device *usb_kbd_dev;
<snip>
dev = device_get_by_name("usbkbd"); usb_kbd_dev = (struct usb_device *)dev->priv; iface = &usb_kbd_dev->config.if_desc[0];
Signed-off-by: Thomas Abraham t-abraham@ti.com --- common/usb_kbd.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/common/usb_kbd.c b/common/usb_kbd.c index 89e6ee7..fe1e789 100644 --- a/common/usb_kbd.c +++ b/common/usb_kbd.c @@ -183,6 +183,7 @@ int drv_usb_kbd_init(void) usb_kbd_dev.puts = NULL; usb_kbd_dev.getc = usb_kbd_getc; usb_kbd_dev.tstc = usb_kbd_testc; + usb_kbd_dev.priv = (void *)dev; error = device_register (&usb_kbd_dev); if(error==0) { /* check if this is the standard input device */