322fdaa316
Users will have to reboot to OF manually or to power off, and then plug USB No message is displayed because usb_detect() is run from a tick This lacks documentation but should be OK for Unstable devices, and will hopefully prevent clueless users from opening their devices and breaking them definitely, instead of waiting for the battery to power off. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27837 a1c6a512-1295-4272-9138-f99709370657
65 lines
1.8 KiB
C
65 lines
1.8 KiB
C
/***************************************************************************
|
|
* __________ __ ___.
|
|
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
|
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
|
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
|
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
|
* \/ \/ \/ \/ \/
|
|
* $Id$
|
|
*
|
|
* Copyright © 2008 Rafaël Carré
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License
|
|
* as published by the Free Software Foundation; either version 2
|
|
* of the License, or (at your option) any later version.
|
|
*
|
|
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
|
* KIND, either express or implied.
|
|
*
|
|
****************************************************************************/
|
|
|
|
#include <stdbool.h>
|
|
#include "config.h"
|
|
#include "usb.h"
|
|
#ifdef HAVE_USBSTACK
|
|
#include "usb_core.h"
|
|
#endif
|
|
#include "usb-target.h"
|
|
#include "power.h"
|
|
#include "as3525.h"
|
|
|
|
static int usb_status = USB_EXTRACTED;
|
|
|
|
void usb_enable(bool on)
|
|
{
|
|
#if defined(HAVE_USBSTACK) && defined(USE_ROCKBOX_USB)
|
|
if (on)
|
|
usb_core_init();
|
|
else
|
|
usb_core_exit();
|
|
#else
|
|
(void)on;
|
|
#endif
|
|
}
|
|
|
|
void usb_insert_int(void)
|
|
{
|
|
usb_status = USB_INSERTED;
|
|
}
|
|
|
|
void usb_remove_int(void)
|
|
{
|
|
usb_status = USB_EXTRACTED;
|
|
}
|
|
|
|
int usb_detect(void)
|
|
{
|
|
#if CONFIG_CPU == AS3525v2
|
|
/* 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 */
|
|
return USB_EXTRACTED;
|
|
#endif
|
|
return usb_status;
|
|
}
|