]> git.sur5r.net Git - u-boot/blobdiff - drivers/usb/gadget/g_dnl.c
Merge branch 'u-boot/master' into 'u-boot-arm/master'
[u-boot] / drivers / usb / gadget / g_dnl.c
index 743bae535ac8607ed02ad41f726e44b8022ffe00..ee52a294679ad5b98de1e81f01b790306ae00f99 100644 (file)
@@ -163,6 +163,23 @@ __weak int g_dnl_board_usb_cable_connected(void)
        return -EOPNOTSUPP;
 }
 
+static bool g_dnl_detach_request;
+
+bool g_dnl_detach(void)
+{
+       return g_dnl_detach_request;
+}
+
+void g_dnl_trigger_detach(void)
+{
+       g_dnl_detach_request = true;
+}
+
+void g_dnl_clear_detach(void)
+{
+       g_dnl_detach_request = false;
+}
+
 static int g_dnl_get_bcd_device_number(struct usb_composite_dev *cdev)
 {
        struct usb_gadget *gadget = cdev->gadget;
@@ -245,11 +262,12 @@ static struct usb_composite_driver g_dnl_driver = {
  */
 int g_dnl_register(const char *name)
 {
-       int ret = usb_composite_register(&g_dnl_driver);
+       int ret;
 
        debug("%s: g_dnl_driver.name = %s\n", __func__, name);
        g_dnl_driver.name = name;
 
+       ret = usb_composite_register(&g_dnl_driver);
        if (ret) {
                printf("%s: failed!, error: %d\n", __func__, ret);
                return ret;