summaryrefslogtreecommitdiff
path: root/src/transport/mtp_usb_driver.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/transport/mtp_usb_driver.c')
-rw-r--r--src/transport/mtp_usb_driver.c19
1 files changed, 14 insertions, 5 deletions
diff --git a/src/transport/mtp_usb_driver.c b/src/transport/mtp_usb_driver.c
index 6fde025..a856151 100644
--- a/src/transport/mtp_usb_driver.c
+++ b/src/transport/mtp_usb_driver.c
@@ -23,17 +23,26 @@ static const mtp_usb_driver_t *usb_driver;
/*
* FUNCTIONS
*/
-mtp_bool _transport_init_usb_device(void)
+mtp_bool _transport_select_driver(void)
{
if (access(MTP_DRIVER_PATH, F_OK) == 0) {
usb_driver = &mtp_usb_driver_slp;
- } else if (access(MTP_EP0_PATH, F_OK) == 0 || sd_listen_fds(0) >= 4) {
+ DBG("SLP driver selected");
+ return TRUE;
+ }
+
+ if (access(MTP_EP0_PATH, F_OK) == 0 || sd_listen_fds(0) >= 4) {
usb_driver = &mtp_usb_driver_ffs;
- } else {
- ERR("No suport for USB gadgets in kernel");
- return FALSE;
+ DBG("FFS driver selected");
+ return TRUE;
}
+ ERR("No suport for USB gadgets in kernel");
+ return FALSE;
+}
+
+mtp_bool _transport_init_usb_device(void)
+{
return usb_driver->transport_init_usb_device();
}