]> git.sur5r.net Git - u-boot/blobdiff - drivers/usb/gadget/g_dnl.c
usb:g_dnl:dfu: Download gadget and DFU function code clean up
[u-boot] / drivers / usb / gadget / g_dnl.c
index cbfcb2d0748435bf4d9e74e55b46b8c24dba7408..40868c034e42fcde8416d407552e38e2e2daf75b 100644 (file)
@@ -7,7 +7,6 @@
  * SPDX-License-Identifier:    GPL-2.0+
  */
 
-#include <errno.h>
 #include <common.h>
 #include <malloc.h>
 
 #include <part.h>
 
 #include <g_dnl.h>
-#include "f_dfu.h"
+#include <usb_mass_storage.h>
+#include <dfu.h>
 
 #include "gadget_chips.h"
 #include "composite.c"
-#include "f_mass_storage.c"
 
 /*
  * One needs to define the following:
 
 #define STRING_MANUFACTURER 25
 #define STRING_PRODUCT 2
+/* Index of String Descriptor describing this configuration */
 #define STRING_USBDOWN 2
-#define CONFIG_USBDOWNLOADER 2
+/* Number of supported configurations */
+#define CONFIGURATION_NUMBER 1
 
 #define DRIVER_VERSION         "usb_dnl 2.0"
 
@@ -54,11 +55,14 @@ static struct usb_device_descriptor device_desc = {
        .bNumConfigurations = 1,
 };
 
-/* static strings, in UTF-8 */
+/*
+ * static strings, in UTF-8
+ * IDs for those strings are assigned dynamically at g_dnl_bind()
+ */
 static struct usb_string g_dnl_string_defs[] = {
-       { 0, manufacturer, },
-       { 1, product, },
-       {  }            /* end of list */
+       {.s = manufacturer},
+       {.s = product},
+       {             /* end of list */
 };
 
 static struct usb_gadget_strings g_dnl_string_tab = {
@@ -104,7 +108,7 @@ static int g_dnl_config_register(struct usb_composite_dev *cdev)
        static struct usb_configuration config = {
                .label = "usb_dnload",
                .bmAttributes = USB_CONFIG_ATT_ONE | USB_CONFIG_ATT_SELFPOWER,
-               .bConfigurationValue =  CONFIG_USBDOWNLOADER,
+               .bConfigurationValue =  CONFIGURATION_NUMBER,
                .iConfiguration =       STRING_USBDOWN,
 
                .bind = g_dnl_do_config,