summaryrefslogtreecommitdiff
path: root/firmware/usbstack/usb_core.c
diff options
context:
space:
mode:
authorFrank Gevaerts <frank@gevaerts.be>2009-04-18 21:32:41 +0000
committerFrank Gevaerts <frank@gevaerts.be>2009-04-18 21:32:41 +0000
commit00b407b04f42ed65d18c7fa2834530078d51249c (patch)
tree896da75f2a07992fe733b514b30132bf743e1b8c /firmware/usbstack/usb_core.c
parent069191d9d4535b4eb4d7cafff43d7e6e23ac2014 (diff)
downloadrockbox-00b407b04f42ed65d18c7fa2834530078d51249c.tar.gz
rockbox-00b407b04f42ed65d18c7fa2834530078d51249c.zip
USB related Cosmetics, whitespace and readability fixes (FS#10147 by Tomer Shalev)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20737 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/usbstack/usb_core.c')
-rw-r--r--firmware/usbstack/usb_core.c65
1 files changed, 31 insertions, 34 deletions
diff --git a/firmware/usbstack/usb_core.c b/firmware/usbstack/usb_core.c
index 3f67407c72..f6373b8945 100644
--- a/firmware/usbstack/usb_core.c
+++ b/firmware/usbstack/usb_core.c
@@ -88,7 +88,7 @@ static const struct usb_device_descriptor __attribute__((aligned(2)))
88} ; 88} ;
89 89
90static struct usb_config_descriptor __attribute__((aligned(2))) 90static struct usb_config_descriptor __attribute__((aligned(2)))
91 config_descriptor = 91 config_descriptor =
92{ 92{
93 .bLength = sizeof(struct usb_config_descriptor), 93 .bLength = sizeof(struct usb_config_descriptor),
94 .bDescriptorType = USB_DT_CONFIG, 94 .bDescriptorType = USB_DT_CONFIG,
@@ -100,7 +100,6 @@ static struct usb_config_descriptor __attribute__((aligned(2)))
100 .bMaxPower = (USB_MAX_CURRENT+1) / 2, /* In 2mA units */ 100 .bMaxPower = (USB_MAX_CURRENT+1) / 2, /* In 2mA units */
101}; 101};
102 102
103
104static const struct usb_qualifier_descriptor __attribute__((aligned(2))) 103static const struct usb_qualifier_descriptor __attribute__((aligned(2)))
105 qualifier_descriptor = 104 qualifier_descriptor =
106{ 105{
@@ -242,7 +241,6 @@ static void usb_core_control_request_handler(struct usb_ctrlrequest* req);
242 241
243static unsigned char response_data[256] USB_DEVBSS_ATTR; 242static unsigned char response_data[256] USB_DEVBSS_ATTR;
244 243
245
246static short hex[16] = {'0','1','2','3','4','5','6','7', 244static short hex[16] = {'0','1','2','3','4','5','6','7',
247 '8','9','A','B','C','D','E','F'}; 245 '8','9','A','B','C','D','E','F'};
248#ifdef IPOD_ARCH 246#ifdef IPOD_ARCH
@@ -357,15 +355,15 @@ void usb_core_exit(void)
357 for(i=0;i<USB_NUM_DRIVERS;i++) { 355 for(i=0;i<USB_NUM_DRIVERS;i++) {
358 if(drivers[i].enabled && drivers[i].disconnect != NULL) 356 if(drivers[i].enabled && drivers[i].disconnect != NULL)
359 { 357 {
360 drivers[i].disconnect (); 358 drivers[i].disconnect();
361 drivers[i].enabled = false; 359 drivers[i].enabled = false;
362 } 360 }
363 } 361 }
364 362
365 if (initialized) { 363 if (initialized) {
366 usb_drv_exit(); 364 usb_drv_exit();
365 initialized = false;
367 } 366 }
368 initialized = false;
369 usb_state = DEFAULT; 367 usb_state = DEFAULT;
370 logf("usb_core_exit() finished"); 368 logf("usb_core_exit() finished");
371} 369}
@@ -373,6 +371,7 @@ void usb_core_exit(void)
373void usb_core_handle_transfer_completion( 371void usb_core_handle_transfer_completion(
374 struct usb_transfer_completion_event_data* event) 372 struct usb_transfer_completion_event_data* event)
375{ 373{
374 completion_handler_t handler;
376 int ep = event->endpoint; 375 int ep = event->endpoint;
377 376
378 switch(ep) { 377 switch(ep) {
@@ -382,9 +381,9 @@ void usb_core_handle_transfer_completion(
382 (struct usb_ctrlrequest*)event->data); 381 (struct usb_ctrlrequest*)event->data);
383 break; 382 break;
384 default: 383 default:
385 if(ep_data[ep].completion_handler[event->dir>>7] != NULL) 384 handler = ep_data[ep].completion_handler[event->dir>>7];
386 ep_data[ep].completion_handler[event->dir>>7](ep,event->dir, 385 if(handler != NULL)
387 event->status,event->length); 386 handler(ep,event->dir,event->status,event->length);
388 break; 387 break;
389 } 388 }
390} 389}
@@ -403,8 +402,7 @@ bool usb_core_any_exclusive_storage(void)
403{ 402{
404 int i; 403 int i;
405 for(i=0;i<USB_NUM_DRIVERS;i++) { 404 for(i=0;i<USB_NUM_DRIVERS;i++) {
406 if(drivers[i].enabled && 405 if(drivers[i].enabled && drivers[i].needs_exclusive_storage)
407 drivers[i].needs_exclusive_storage)
408 { 406 {
409 return true; 407 return true;
410 } 408 }
@@ -418,8 +416,7 @@ void usb_core_hotswap_event(int volume,bool inserted)
418{ 416{
419 int i; 417 int i;
420 for(i=0;i<USB_NUM_DRIVERS;i++) { 418 for(i=0;i<USB_NUM_DRIVERS;i++) {
421 if(drivers[i].enabled && 419 if(drivers[i].enabled && drivers[i].notify_hotswap!=NULL)
422 drivers[i].notify_hotswap!=NULL)
423 { 420 {
424 drivers[i].notify_hotswap(volume,inserted); 421 drivers[i].notify_hotswap(volume,inserted);
425 } 422 }
@@ -481,7 +478,7 @@ static void allocate_interfaces_and_endpoints(void)
481 usb_drv_release_endpoint(i | USB_DIR_IN); 478 usb_drv_release_endpoint(i | USB_DIR_IN);
482 } 479 }
483 480
484 for(i=0; i < USB_NUM_DRIVERS; i++) { 481 for(i=0;i<USB_NUM_DRIVERS;i++) {
485 if(drivers[i].enabled) { 482 if(drivers[i].enabled) {
486 drivers[i].first_interface = interface; 483 drivers[i].first_interface = interface;
487 484
@@ -762,19 +759,23 @@ void usb_core_bus_reset(void)
762/* called by usb_drv_transfer_completed() */ 759/* called by usb_drv_transfer_completed() */
763void usb_core_transfer_complete(int endpoint, int dir, int status,int length) 760void usb_core_transfer_complete(int endpoint, int dir, int status,int length)
764{ 761{
762 struct usb_transfer_completion_event_data *completion_event;
763
765 switch (endpoint) { 764 switch (endpoint) {
766 case EP_CONTROL: 765 case EP_CONTROL:
767 /* already handled */ 766 /* already handled */
768 break; 767 break;
769 768
770 default: 769 default:
771 ep_data[endpoint].completion_event.endpoint=endpoint; 770 completion_event = &ep_data[endpoint].completion_event;
772 ep_data[endpoint].completion_event.dir=dir; 771
773 ep_data[endpoint].completion_event.data=0; 772 completion_event->endpoint=endpoint;
774 ep_data[endpoint].completion_event.status=status; 773 completion_event->dir=dir;
775 ep_data[endpoint].completion_event.length=length; 774 completion_event->data=0;
775 completion_event->status=status;
776 completion_event->length=length;
776 /* All other endoints. Let the thread deal with it */ 777 /* All other endoints. Let the thread deal with it */
777 usb_signal_transfer_completion(&ep_data[endpoint].completion_event); 778 usb_signal_transfer_completion(completion_event);
778 break; 779 break;
779 } 780 }
780} 781}
@@ -782,18 +783,21 @@ void usb_core_transfer_complete(int endpoint, int dir, int status,int length)
782/* called by usb_drv_int() */ 783/* called by usb_drv_int() */
783void usb_core_control_request(struct usb_ctrlrequest* req) 784void usb_core_control_request(struct usb_ctrlrequest* req)
784{ 785{
785 ep_data[0].completion_event.endpoint=0; 786 struct usb_transfer_completion_event_data *completion_event =
786 ep_data[0].completion_event.dir=0; 787 &ep_data[0].completion_event;
787 ep_data[0].completion_event.data=(void *)req; 788
788 ep_data[0].completion_event.status=0; 789 completion_event->endpoint=0;
789 ep_data[0].completion_event.length=0; 790 completion_event->dir=0;
791 completion_event->data=(void *)req;
792 completion_event->status=0;
793 completion_event->length=0;
790 logf("ctrl received %ld",current_tick); 794 logf("ctrl received %ld",current_tick);
791 usb_signal_transfer_completion(&ep_data[0].completion_event); 795 usb_signal_transfer_completion(completion_event);
792} 796}
793 797
794int usb_core_ack_control(struct usb_ctrlrequest* req) 798int usb_core_ack_control(struct usb_ctrlrequest* req)
795{ 799{
796 if (req->bRequestType & 0x80) 800 if (req->bRequestType & USB_DIR_IN)
797 return usb_drv_recv(EP_CONTROL, NULL, 0); 801 return usb_drv_recv(EP_CONTROL, NULL, 0);
798 else 802 else
799 return usb_drv_send(EP_CONTROL, NULL, 0); 803 return usb_drv_send(EP_CONTROL, NULL, 0);
@@ -802,13 +806,6 @@ int usb_core_ack_control(struct usb_ctrlrequest* req)
802#ifdef HAVE_USB_POWER 806#ifdef HAVE_USB_POWER
803unsigned short usb_allowed_current() 807unsigned short usb_allowed_current()
804{ 808{
805 if (usb_state == CONFIGURED) 809 return (usb_state == CONFIGURED) ? MAX(USB_MAX_CURRENT, 100) : 100;
806 {
807 return MAX(USB_MAX_CURRENT, 100);
808 }
809 else
810 {
811 return 100;
812 }
813} 810}
814#endif 811#endif