diff options
| author | Frank Gevaerts <frank@gevaerts.be> | 2008-10-03 22:43:16 +0000 |
|---|---|---|
| committer | Frank Gevaerts <frank@gevaerts.be> | 2008-10-03 22:43:16 +0000 |
| commit | 478fc5baed82e5573938041aed0f1a4f73f32128 (patch) | |
| tree | b7115cb1200101075bf93d93f61bd0be65ff9d42 /firmware/export | |
| parent | 6219f4c862919367972e497c47324121fe48f3f6 (diff) | |
| download | rockbox-478fc5baed82e5573938041aed0f1a4f73f32128.zip rockbox-478fc5baed82e5573938041aed0f1a4f73f32128.tar.gz rockbox-478fc5baed82e5573938041aed0f1a4f73f32128.tar.bz2 rockbox-478fc5baed82e5573938041aed0f1a4f73f32128.tar.xz | |
reorganise the USB stack a bit to allow for easier integration of non-ARC controller drivers
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18703 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/export')
| -rw-r--r-- | firmware/export/usb.h | 2 | ||||
| -rw-r--r-- | firmware/export/usb_core.h | 8 | ||||
| -rw-r--r-- | firmware/export/usb_drv.h | 2 |
3 files changed, 10 insertions, 2 deletions
diff --git a/firmware/export/usb.h b/firmware/export/usb.h index 9952a07..08ae279 100644 --- a/firmware/export/usb.h +++ b/firmware/export/usb.h @@ -85,7 +85,7 @@ enum { struct usb_transfer_completion_event_data { unsigned char endpoint; - bool in; + int dir; int status; int length; void* data; diff --git a/firmware/export/usb_core.h b/firmware/export/usb_core.h index 6aada54..9d9e327 100644 --- a/firmware/export/usb_core.h +++ b/firmware/export/usb_core.h @@ -45,10 +45,12 @@ extern int usb_max_pkt_size; +struct usb_class_driver; + void usb_core_init(void); void usb_core_exit(void); 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_transfer_complete(int endpoint, int dir, int status, int length); void usb_core_bus_reset(void); bool usb_core_exclusive_connection(void); void usb_core_enable_driver(int driver,bool enabled); @@ -56,6 +58,10 @@ bool usb_core_driver_enabled (int driver); void usb_core_handle_transfer_completion( struct usb_transfer_completion_event_data* event); int usb_core_ack_control(struct usb_ctrlrequest* req); + +int usb_core_request_endpoint(int dir, struct usb_class_driver *drv); +void usb_core_release_endpoint(int dir); + #ifdef HAVE_HOTSWAP void usb_core_hotswap_event(int volume,bool inserted); #endif diff --git a/firmware/export/usb_drv.h b/firmware/export/usb_drv.h index 3db82ef..3bd8e1f 100644 --- a/firmware/export/usb_drv.h +++ b/firmware/export/usb_drv.h @@ -41,5 +41,7 @@ int usb_drv_port_speed(void); void usb_drv_cancel_all_transfers(void); void usb_drv_set_test_mode(int mode); bool usb_drv_connected(void); +int usb_drv_request_endpoint(int dir); +void usb_drv_release_endpoint(int ep); #endif |