| ====================== | |
| FunctionFS Descriptors | |
| ====================== | |
| Some of the descriptors that can be written to the FFS gadget are | |
| described below. Device and configuration descriptors are handled | |
| by the composite gadget and are not written by the user to the | |
| FFS gadget. | |
| Descriptors are written to the "ep0" file in the FFS gadget | |
| following the descriptor header. | |
| .. kernel-doc:: include/uapi/linux/usb/functionfs.h | |
| :doc: descriptors | |
| Interface Descriptors | |
| --------------------- | |
| Standard USB interface descriptors may be written. The class/subclass of the | |
| most recent interface descriptor determines what type of class-specific | |
| descriptors are accepted. | |
| Class-Specific Descriptors | |
| -------------------------- | |
| Class-specific descriptors are accepted only for the class/subclass of the | |
| most recent interface descriptor. The following are some of the | |
| class-specific descriptors that are supported. | |
| DFU Functional Descriptor | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~ | |
| When the interface class is USB_CLASS_APP_SPEC and the interface subclass | |
| is USB_SUBCLASS_DFU, a DFU functional descriptor can be provided. | |
| The DFU functional descriptor is a described in the USB specification for | |
| Device Firmware Upgrade (DFU), version 1.1 as of this writing. | |
| .. kernel-doc:: include/uapi/linux/usb/functionfs.h | |
| :doc: usb_dfu_functional_descriptor |