diff options
| author | Frank Gevaerts <frank@gevaerts.be> | 2008-03-06 21:25:09 +0000 |
|---|---|---|
| committer | Frank Gevaerts <frank@gevaerts.be> | 2008-03-06 21:25:09 +0000 |
| commit | f0b4a32d6f983b1bece0b8cb2f2da1fdd23b012e (patch) | |
| tree | 90f36c9f421c174d0385268ea47f0013b0c8cd8c /firmware/export | |
| parent | 5f83f0e4d2aaad77bda682cfd81a7ebb111a6024 (diff) | |
| download | rockbox-f0b4a32d6f983b1bece0b8cb2f2da1fdd23b012e.zip rockbox-f0b4a32d6f983b1bece0b8cb2f2da1fdd23b012e.tar.gz rockbox-f0b4a32d6f983b1bece0b8cb2f2da1fdd23b012e.tar.bz2 rockbox-f0b4a32d6f983b1bece0b8cb2f2da1fdd23b012e.tar.xz | |
reorganise the usb stack to provide a clean separation between core and class drivers
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16541 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/export')
| -rw-r--r-- | firmware/export/usb.h | 17 | ||||
| -rw-r--r-- | firmware/export/usb_core.h | 23 |
2 files changed, 16 insertions, 24 deletions
diff --git a/firmware/export/usb.h b/firmware/export/usb.h index 6779372..4dae7c2 100644 --- a/firmware/export/usb.h +++ b/firmware/export/usb.h @@ -24,13 +24,13 @@ /* Messages from usb_tick and thread states */ enum { - USB_INSERTED, - USB_EXTRACTED, - USB_REENABLE, - USB_POWERED, - USB_TRANSFER_COMPLETION, - USB_REQUEST_DISK, - USB_REQUEST_REBOOT + USB_INSERTED, + USB_EXTRACTED, + USB_REENABLE, + USB_POWERED, + USB_TRANSFER_COMPLETION, + USB_REQUEST_DISK, + USB_REQUEST_REBOOT }; @@ -69,7 +69,8 @@ enum { enum { USB_DRIVER_MASS_STORAGE, USB_DRIVER_SERIAL, - USB_DRIVER_CHARGING_ONLY + USB_DRIVER_CHARGING_ONLY, + USB_NUM_DRIVERS }; #endif #ifdef HAVE_USBSTACK diff --git a/firmware/export/usb_core.h b/firmware/export/usb_core.h index bb4ce6c..97712bc 100644 --- a/firmware/export/usb_core.h +++ b/firmware/export/usb_core.h @@ -21,7 +21,7 @@ #ifndef BOOTLOADER -//#define USB_SERIAL +#define USB_SERIAL #define USB_STORAGE #define USB_CHARGING_ONLY #else /* BOOTLOADER */ @@ -32,19 +32,8 @@ #include "usb.h" /* endpoints */ -enum { - EP_CONTROL = 0, -#ifdef USB_STORAGE - EP_MASS_STORAGE, -#endif -#ifdef USB_SERIAL - EP_SERIAL, -#endif -#ifdef USB_CHARGING_ONLY - EP_CHARGING_ONLY, -#endif - NUM_ENDPOINTS -}; +#define EP_CONTROL 0 +#define NUM_ENDPOINTS 3 extern int usb_max_pkt_size; @@ -54,7 +43,9 @@ void usb_core_control_request(struct usb_ctrlrequest* req); void usb_core_transfer_complete(int endpoint, bool in, int status, int length); void usb_core_bus_reset(void); bool usb_core_exclusive_connection(void); -void usb_core_enable_protocol(int driver,bool enabled); -void usb_core_handle_transfer_completion(struct usb_transfer_completion_event_data* event); +void usb_core_enable_driver(int driver,bool enabled); +bool usb_core_driver_enabled (int driver); +void usb_core_handle_transfer_completion( + struct usb_transfer_completion_event_data* event); #endif |