1. NAME

usb_gstrings_attach - attach gadget strings to a cdev and assign ids

2. SYNOPSIS

struct usb_string * usb_gstrings_attach(struct usb_composite_dev *  cdev , struct usb_gadget_strings **  sp , unsigned  n_strings );

3. ARGUMENTS

cdev
    the device whose string descriptor IDs are being allocated and attached.

sp
    an array of usb_gadget_strings to attach.

n_strings
    number of entries in each usb_strings array (sp[]->strings)

4. DESCRIPTION

This function will create a deep copy of usb_gadget_strings and usb_string and attach it to the cdev. The actual string (usb_string.s) will not be copied but only a referenced will be made. The struct usb_gadget_strings array may contain multiple languges and should be NULL terminated. The ->language pointer of each struct usb_gadget_strings has to contain the same amount of entries.

5. FOR INSTANCE

sp[0] is en-US, sp[1] is es-ES. It is expected that the first usb_string entry of es-ES containts the translation of the first usb_string entry of en-US. Therefore both entries become the same id assign.

6. AUTHOR

David Brownell <>
    Author.

7. COPYRIGHT