• Joel Pepper's avatar
    usb: gadget: uvc: configfs: Add bFrameIndex attributes · b206548b
    Joel Pepper authored
    - Add bFrameIndex as a UVCG_FRAME_ATTR_RO for each frame size.
    - Automatically assign ascending bFrameIndex to each frame in a format.
    
    Before all "bFrameindex" attributes were set to "1" with no way to
    configure the gadget otherwise. This resulted in the host always
    negotiating for bFrameIndex 1 (i.e. the first frame size of the gadget).
    After the negotiation the host driver will set the user or application
    selected frame size, while the gadget is actually set to the first frame
    size.
    
    Now, when the containing format is linked into the streaming header,
    iterate over all child frame descriptors and assign ascending indices.
    The automatically assigned indices can be read from the new read only
    bFrameIndex configfs attribute in each frame descriptor item.
    Signed-off-by: default avatarJoel Pepper <joel.pepper@rwth-aachen.de>
    [Simplified documentation, renamed function, blank space update]
    Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
    Reviewed-by: default avatarKieran Bingham <kieran.bingham@ideasonboard.com>
    b206548b
uvc_configfs.c 66.9 KB