mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-12-08 12:45:26 -05:00
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:
parent
fd5524ff92
commit
4fcffcbdf3
10 changed files with 86 additions and 133 deletions
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue