diff options
| author | Frank Gevaerts <frank@gevaerts.be> | 2009-04-19 21:17:18 +0000 |
|---|---|---|
| committer | Frank Gevaerts <frank@gevaerts.be> | 2009-04-19 21:17:18 +0000 |
| commit | 2a085f4477dc4d988d53c6a02295d05849f309d9 (patch) | |
| tree | 372ae5a9a304843281648e3139d33d7e5152a14b /firmware/usbstack/usb_core.c | |
| parent | 745e35c2d9e4497fcad21d4bf2920b1baddaee3d (diff) | |
| download | rockbox-2a085f4477dc4d988d53c6a02295d05849f309d9.zip rockbox-2a085f4477dc4d988d53c6a02295d05849f309d9.tar.gz rockbox-2a085f4477dc4d988d53c6a02295d05849f309d9.tar.bz2 rockbox-2a085f4477dc4d988d53c6a02295d05849f309d9.tar.xz | |
Add preliminary HID driver. It doesn't do anything yet, but that should change soon (FS#10116 by Tomer Shalev)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20750 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/usbstack/usb_core.c')
| -rw-r--r-- | firmware/usbstack/usb_core.c | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/firmware/usbstack/usb_core.c b/firmware/usbstack/usb_core.c index 8c23572..838529b 100644 --- a/firmware/usbstack/usb_core.c +++ b/firmware/usbstack/usb_core.c @@ -43,6 +43,10 @@ #include "usb_charging_only.h" #endif +#if defined(USB_HID) +#include "usb_hid.h" +#endif + /* TODO: Move target-specific stuff somewhere else (serial number reading) */ #ifdef HAVE_AS3514 @@ -166,8 +170,8 @@ static enum { DEFAULT, ADDRESS, CONFIGURED } usb_state; static int usb_core_num_interfaces; -typedef void (*completion_handler_t)(int ep,int dir, int status, int length); -typedef bool (*control_handler_t)(struct usb_ctrlrequest* req, unsigned char* dest); +typedef void (*completion_handler_t)(int ep,int dir,int status,int length); +typedef bool (*control_handler_t)(struct usb_ctrlrequest* req,unsigned char* dest); static struct { @@ -234,6 +238,25 @@ static struct usb_class_driver drivers[USB_NUM_DRIVERS] = .notify_hotswap = NULL, #endif }, +#ifdef USB_HID + [USB_DRIVER_HID] = { + .enabled = false, + .needs_exclusive_storage = false, + .first_interface = 0, + .last_interface = 0, + .request_endpoints = usb_hid_request_endpoints, + .set_first_interface = usb_hid_set_first_interface, + .get_config_descriptor = usb_hid_get_config_descriptor, + .init_connection = usb_hid_init_connection, + .init = usb_hid_init, + .disconnect = usb_hid_disconnect, + .transfer_complete = usb_hid_transfer_complete, + .control_request = usb_hid_control_request, +#ifdef HAVE_HOTSWAP + .notify_hotswap = NULL, +#endif + }, +#endif #endif }; |