static void usbg_parse_attrs(char *path, struct gadget *g)
{
- /* UDC bound to, if any */
- usbg_read_string(path, g->name, "UDC", g->udc);
-
/* Actual attributes */
g->dclass = usbg_read_hex(path, g->name, "bDeviceClass");
g->dsubclass = usbg_read_hex(path, g->name, "bDeviceSubClass");
g->bcdusb = usbg_read_hex(path, g->name, "bcdUSB");
g->vendor = usbg_read_hex(path, g->name, "idVendor");
g->product = usbg_read_hex(path, g->name, "idProduct");
+}
+static void usbg_parse_strings(char *path, struct gadget *g)
+{
/* Strings - hardcoded to U.S. English only for now */
usbg_read_string(path, g->name, "strings/0x409/serialnumber", g->str_ser);
usbg_read_string(path, g->name, "strings/0x409/manufacturer", g->str_mnf);
strcpy(g->name, dent[i]->d_name);
strcpy(g->path, s->path);
g->parent = s;
- usbg_parse_attrs(path, g);
+ /* UDC bound to, if any */
+ usbg_read_string(path, g->name, "UDC", g->udc);
+ usbg_parse_configs(path, g);
+ usbg_parse_strings(path, g);
usbg_parse_functions(path, g);
usbg_parse_configs(path, g);
TAILQ_INSERT_TAIL(&s->gadgets, g, gnode);