• Andrzej Pietrasiewicz's avatar
    usb: gadget: configfs: OS Extended Compatibility descriptors support · da424314
    Andrzej Pietrasiewicz authored
    Add handling of OS Extended Compatibility descriptors from configfs interface.
    Hosts which expect the "OS Descriptors" ask only for configurations @ index 0,
    but linux-based USB devices can provide more than one configuration.
    This patch adds marking one of gadget's configurations the configuration
    to be reported at index 0, regardless of the actual sequence of usb_add_config
    invocations used for adding the configurations. The configuration is selected
    by creating a symbolic link pointing to it from the "os_desc" directory
    located at the top of a gadget's directory hierarchy.
    
    One kind of "OS Descriptors" are "Extended Compatibility Descriptors",
    which need to be specified per interface. This patch adds interface.<n>
    directory in function's configfs directory to represent each interface
    defined by the function. Each interface's directory contains two attributes:
    "compatible_id" and "sub_compatible_id", which represent 8-byte
    strings to be reported to the host as the "Compatible ID" and "Sub Compatible
    ID".
    Signed-off-by: default avatarAndrzej Pietrasiewicz <andrzej.p@samsung.com>
    Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
    da424314
configfs.c 32.9 KB