| .. | .. |
|---|
| 206 | 206 | #define UVC_QUIRK_RESTORE_CTRLS_ON_INIT 0x00000400 |
|---|
| 207 | 207 | #define UVC_QUIRK_FORCE_Y8 0x00000800 |
|---|
| 208 | 208 | #define UVC_QUIRK_FORCE_BPP 0x00001000 |
|---|
| 209 | +#define UVC_QUIRK_WAKE_AUTOSUSPEND 0x00002000 |
|---|
| 209 | 210 | |
|---|
| 210 | 211 | /* Format flags */ |
|---|
| 211 | 212 | #define UVC_FMT_FLAG_COMPRESSED 0x00000001 |
|---|
| .. | .. |
|---|
| 672 | 673 | /* Status Interrupt Endpoint */ |
|---|
| 673 | 674 | struct usb_host_endpoint *int_ep; |
|---|
| 674 | 675 | struct urb *int_urb; |
|---|
| 676 | + bool flush_status; |
|---|
| 675 | 677 | u8 *status; |
|---|
| 676 | 678 | struct input_dev *input; |
|---|
| 677 | 679 | char input_phys[64]; |
|---|
| .. | .. |
|---|
| 841 | 843 | int uvc_ctrl_init_device(struct uvc_device *dev); |
|---|
| 842 | 844 | void uvc_ctrl_cleanup_device(struct uvc_device *dev); |
|---|
| 843 | 845 | int uvc_ctrl_restore_values(struct uvc_device *dev); |
|---|
| 844 | | -bool uvc_ctrl_status_event(struct urb *urb, struct uvc_video_chain *chain, |
|---|
| 846 | +bool uvc_ctrl_status_event_async(struct urb *urb, struct uvc_video_chain *chain, |
|---|
| 847 | + struct uvc_control *ctrl, const u8 *data); |
|---|
| 848 | +void uvc_ctrl_status_event(struct uvc_video_chain *chain, |
|---|
| 845 | 849 | struct uvc_control *ctrl, const u8 *data); |
|---|
| 846 | 850 | |
|---|
| 847 | 851 | int uvc_ctrl_begin(struct uvc_video_chain *chain); |
|---|