Reorganise USB initialisation to not depend on a specific enumeration sequence, by Bartosz Fabianowski, with minor tweaks by Michael Sevakis (FS#12497)

FreeBSD apparently sends a SET_ADDRESS first, which confused our code.
This patch fixes that, and also simplifies the connection handling a bit.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31582 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Frank Gevaerts 2012-01-04 21:55:09 +00:00
parent fd5524ff92
commit 4fcffcbdf3
10 changed files with 86 additions and 133 deletions

View file

@ -58,22 +58,6 @@ void usb_remove_int(void)
#endif
}
void usb_drv_usb_detect_event(void)
{
#if (CONFIG_CPU != AS3525v2 || defined(USE_ROCKBOX_USB)) \
&& defined (USB_STATUS_BY_EVENT)
/* Rebooting on USB plug can crash these players in a state where
* hardware power off (pressing the power button) doesn't work anymore
* TODO: Implement USB in rockbox for these players */
int oldstatus = disable_irq_save(); /* May come via USB thread */
if (usb_status == USB_INSERTED)
usb_status_event(USB_HOSTED);
restore_irq(oldstatus);
#endif
}
int usb_detect(void)
{
return usb_status;