History

Merge tag 'uvcg-20180925' of git://linuxtv.org/pinchartl/media into testing/next

UVC gadget updates for v4.20 - configfs cleanups, fixes and extensions - Endianness fixes - Miscellaneous cleanups

Felipe Balbi committed 8 years ago

Commit 755801c2 parents 17b57b1 3fb2fd79 files · +916 −710Browse files

Showing the changes to include/uapi/linux (1 of 9 files). Show all

Unified · Split

include/uapi/linux/usb/video.h+152−152
@@ -192,14 +192,14 @@ struct uvc_descriptor_header { · 191 unmodified lines
192192
193193 /* 3.7.2. Video Control Interface Header Descriptor */
194194 struct uvc_header_descriptor {
195− __u8 bLength;
196− __u8 bDescriptorType;
197− __u8 bDescriptorSubType;
198− __u16 bcdUVC;
199− __u16 wTotalLength;
200− __u32 dwClockFrequency;
201− __u8 bInCollection;
202− __u8 baInterfaceNr[];
195+ __u8 bLength;
196+ __u8 bDescriptorType;
197+ __u8 bDescriptorSubType;
198+ __le16 bcdUVC;
199+ __le16 wTotalLength;
200+ __le32 dwClockFrequency;
201+ __u8 bInCollection;
202+ __u8 baInterfaceNr[];
203203 } __attribute__((__packed__));
204204
205205 #define UVC_DT_HEADER_SIZE(n) (12+(n))
@@ -209,57 +209,57 @@ struct uvc_header_descriptor { · 3 unmodified lines
209209
210210 #define DECLARE_UVC_HEADER_DESCRIPTOR(n) \
211211 struct UVC_HEADER_DESCRIPTOR(n) { \
212− __u8 bLength; \
213− __u8 bDescriptorType; \
214− __u8 bDescriptorSubType; \
215− __u16 bcdUVC; \
216− __u16 wTotalLength; \
217− __u32 dwClockFrequency; \
218− __u8 bInCollection; \
219− __u8 baInterfaceNr[n]; \
212+ __u8 bLength; \
213+ __u8 bDescriptorType; \
214+ __u8 bDescriptorSubType; \
215+ __le16 bcdUVC; \
216+ __le16 wTotalLength; \
217+ __le32 dwClockFrequency; \
218+ __u8 bInCollection; \
219+ __u8 baInterfaceNr[n]; \
220220 } __attribute__ ((packed))
221221
222222 /* 3.7.2.1. Input Terminal Descriptor */
223223 struct uvc_input_terminal_descriptor {
224− __u8 bLength;
225− __u8 bDescriptorType;
226− __u8 bDescriptorSubType;
227− __u8 bTerminalID;
228− __u16 wTerminalType;
229− __u8 bAssocTerminal;
230− __u8 iTerminal;
224+ __u8 bLength;
225+ __u8 bDescriptorType;
226+ __u8 bDescriptorSubType;
227+ __u8 bTerminalID;
228+ __le16 wTerminalType;
229+ __u8 bAssocTerminal;
230+ __u8 iTerminal;
231231 } __attribute__((__packed__));
232232
233233 #define UVC_DT_INPUT_TERMINAL_SIZE 8
234234
235235 /* 3.7.2.2. Output Terminal Descriptor */
236236 struct uvc_output_terminal_descriptor {
237− __u8 bLength;
238− __u8 bDescriptorType;
239− __u8 bDescriptorSubType;
240− __u8 bTerminalID;
241− __u16 wTerminalType;
242− __u8 bAssocTerminal;
243− __u8 bSourceID;
244− __u8 iTerminal;
237+ __u8 bLength;
238+ __u8 bDescriptorType;
239+ __u8 bDescriptorSubType;
240+ __u8 bTerminalID;
241+ __le16 wTerminalType;
242+ __u8 bAssocTerminal;
243+ __u8 bSourceID;
244+ __u8 iTerminal;
245245 } __attribute__((__packed__));
246246
247247 #define UVC_DT_OUTPUT_TERMINAL_SIZE 9
248248
249249 /* 3.7.2.3. Camera Terminal Descriptor */
250250 struct uvc_camera_terminal_descriptor {
251− __u8 bLength;
252− __u8 bDescriptorType;
253− __u8 bDescriptorSubType;
254− __u8 bTerminalID;
255− __u16 wTerminalType;
256− __u8 bAssocTerminal;
257− __u8 iTerminal;
258− __u16 wObjectiveFocalLengthMin;
259− __u16 wObjectiveFocalLengthMax;
260− __u16 wOcularFocalLength;
261− __u8 bControlSize;
262− __u8 bmControls[3];
251+ __u8 bLength;
252+ __u8 bDescriptorType;
253+ __u8 bDescriptorSubType;
254+ __u8 bTerminalID;
255+ __le16 wTerminalType;
256+ __u8 bAssocTerminal;
257+ __u8 iTerminal;
258+ __le16 wObjectiveFocalLengthMin;
259+ __le16 wObjectiveFocalLengthMax;
260+ __le16 wOcularFocalLength;
261+ __u8 bControlSize;
262+ __u8 bmControls[3];
263263 } __attribute__((__packed__));
264264
265265 #define UVC_DT_CAMERA_TERMINAL_SIZE(n) (15+(n))
@@ -293,15 +293,15 @@ struct UVC_SELECTOR_UNIT_DESCRIPTOR(n) { \ · 27 unmodified lines
293293
294294 /* 3.7.2.5. Processing Unit Descriptor */
295295 struct uvc_processing_unit_descriptor {
296− __u8 bLength;
297− __u8 bDescriptorType;
298− __u8 bDescriptorSubType;
299− __u8 bUnitID;
300− __u8 bSourceID;
301− __u16 wMaxMultiplier;
302− __u8 bControlSize;
303− __u8 bmControls[2];
304− __u8 iProcessing;
296+ __u8 bLength;
297+ __u8 bDescriptorType;
298+ __u8 bDescriptorSubType;
299+ __u8 bUnitID;
300+ __u8 bSourceID;
301+ __le16 wMaxMultiplier;
302+ __u8 bControlSize;
303+ __u8 bmControls[2];
304+ __u8 iProcessing;
305305 } __attribute__((__packed__));
306306
307307 #define UVC_DT_PROCESSING_UNIT_SIZE(n) (9+(n))
@@ -343,29 +343,29 @@ struct UVC_EXTENSION_UNIT_DESCRIPTOR(p, n) { \ · 35 unmodified lines
343343
344344 /* 3.8.2.2. Video Control Interrupt Endpoint Descriptor */
345345 struct uvc_control_endpoint_descriptor {
346− __u8 bLength;
347− __u8 bDescriptorType;
348− __u8 bDescriptorSubType;
349− __u16 wMaxTransferSize;
346+ __u8 bLength;
347+ __u8 bDescriptorType;
348+ __u8 bDescriptorSubType;
349+ __le16 wMaxTransferSize;
350350 } __attribute__((__packed__));
351351
352352 #define UVC_DT_CONTROL_ENDPOINT_SIZE 5
353353
354354 /* 3.9.2.1. Input Header Descriptor */
355355 struct uvc_input_header_descriptor {
356− __u8 bLength;
357− __u8 bDescriptorType;
358− __u8 bDescriptorSubType;
359− __u8 bNumFormats;
360− __u16 wTotalLength;
361− __u8 bEndpointAddress;
362− __u8 bmInfo;
363− __u8 bTerminalLink;
364− __u8 bStillCaptureMethod;
365− __u8 bTriggerSupport;
366− __u8 bTriggerUsage;
367− __u8 bControlSize;
368− __u8 bmaControls[];
356+ __u8 bLength;
357+ __u8 bDescriptorType;
358+ __u8 bDescriptorSubType;
359+ __u8 bNumFormats;
360+ __le16 wTotalLength;
361+ __u8 bEndpointAddress;
362+ __u8 bmInfo;
363+ __u8 bTerminalLink;
364+ __u8 bStillCaptureMethod;
365+ __u8 bTriggerSupport;
366+ __u8 bTriggerUsage;
367+ __u8 bControlSize;
368+ __u8 bmaControls[];
369369 } __attribute__((__packed__));
370370
371371 #define UVC_DT_INPUT_HEADER_SIZE(n, p) (13+(n*p))
@@ -375,32 +375,32 @@ struct uvc_input_header_descriptor { · 3 unmodified lines
375375
376376 #define DECLARE_UVC_INPUT_HEADER_DESCRIPTOR(n, p) \
377377 struct UVC_INPUT_HEADER_DESCRIPTOR(n, p) { \
378− __u8 bLength; \
379− __u8 bDescriptorType; \
380− __u8 bDescriptorSubType; \
381− __u8 bNumFormats; \
382− __u16 wTotalLength; \
383− __u8 bEndpointAddress; \
384− __u8 bmInfo; \
385− __u8 bTerminalLink; \
386− __u8 bStillCaptureMethod; \
387− __u8 bTriggerSupport; \
388− __u8 bTriggerUsage; \
389− __u8 bControlSize; \
390− __u8 bmaControls[p][n]; \
378+ __u8 bLength; \
379+ __u8 bDescriptorType; \
380+ __u8 bDescriptorSubType; \
381+ __u8 bNumFormats; \
382+ __le16 wTotalLength; \
383+ __u8 bEndpointAddress; \
384+ __u8 bmInfo; \
385+ __u8 bTerminalLink; \
386+ __u8 bStillCaptureMethod; \
387+ __u8 bTriggerSupport; \
388+ __u8 bTriggerUsage; \
389+ __u8 bControlSize; \
390+ __u8 bmaControls[p][n]; \
391391 } __attribute__ ((packed))
392392
393393 /* 3.9.2.2. Output Header Descriptor */
394394 struct uvc_output_header_descriptor {
395− __u8 bLength;
396− __u8 bDescriptorType;
397− __u8 bDescriptorSubType;
398− __u8 bNumFormats;
399− __u16 wTotalLength;
400− __u8 bEndpointAddress;
401− __u8 bTerminalLink;
402− __u8 bControlSize;
403− __u8 bmaControls[];
395+ __u8 bLength;
396+ __u8 bDescriptorType;
397+ __u8 bDescriptorSubType;
398+ __u8 bNumFormats;
399+ __le16 wTotalLength;
400+ __u8 bEndpointAddress;
401+ __u8 bTerminalLink;
402+ __u8 bControlSize;
403+ __u8 bmaControls[];
404404 } __attribute__((__packed__));
405405
406406 #define UVC_DT_OUTPUT_HEADER_SIZE(n, p) (9+(n*p))
@@ -410,15 +410,15 @@ struct uvc_output_header_descriptor { · 3 unmodified lines
410410
411411 #define DECLARE_UVC_OUTPUT_HEADER_DESCRIPTOR(n, p) \
412412 struct UVC_OUTPUT_HEADER_DESCRIPTOR(n, p) { \
413− __u8 bLength; \
414− __u8 bDescriptorType; \
415− __u8 bDescriptorSubType; \
416− __u8 bNumFormats; \
417− __u16 wTotalLength; \
418− __u8 bEndpointAddress; \
419− __u8 bTerminalLink; \
420− __u8 bControlSize; \
421− __u8 bmaControls[p][n]; \
413+ __u8 bLength; \
414+ __u8 bDescriptorType; \
415+ __u8 bDescriptorSubType; \
416+ __u8 bNumFormats; \
417+ __le16 wTotalLength; \
418+ __u8 bEndpointAddress; \
419+ __u8 bTerminalLink; \
420+ __u8 bControlSize; \
421+ __u8 bmaControls[p][n]; \
422422 } __attribute__ ((packed))
423423
424424 /* 3.9.2.6. Color matching descriptor */
@@ -473,19 +473,19 @@ struct uvc_format_uncompressed { · 48 unmodified lines
473473
474474 /* Uncompressed Payload - 3.1.2. Uncompressed Video Frame Descriptor */
475475 struct uvc_frame_uncompressed {
476− __u8 bLength;
477− __u8 bDescriptorType;
478− __u8 bDescriptorSubType;
479− __u8 bFrameIndex;
480− __u8 bmCapabilities;
481− __u16 wWidth;
482− __u16 wHeight;
483− __u32 dwMinBitRate;
484− __u32 dwMaxBitRate;
485− __u32 dwMaxVideoFrameBufferSize;
486− __u32 dwDefaultFrameInterval;
487− __u8 bFrameIntervalType;
488− __u32 dwFrameInterval[];
476+ __u8 bLength;
477+ __u8 bDescriptorType;
478+ __u8 bDescriptorSubType;
479+ __u8 bFrameIndex;
480+ __u8 bmCapabilities;
481+ __le16 wWidth;
482+ __le16 wHeight;
483+ __le32 dwMinBitRate;
484+ __le32 dwMaxBitRate;
485+ __le32 dwMaxVideoFrameBufferSize;
486+ __le32 dwDefaultFrameInterval;
487+ __u8 bFrameIntervalType;
488+ __le32 dwFrameInterval[];
489489 } __attribute__((__packed__));
490490
491491 #define UVC_DT_FRAME_UNCOMPRESSED_SIZE(n) (26+4*(n))
@@ -495,19 +495,19 @@ struct uvc_frame_uncompressed { · 3 unmodified lines
495495
496496 #define DECLARE_UVC_FRAME_UNCOMPRESSED(n) \
497497 struct UVC_FRAME_UNCOMPRESSED(n) { \
498− __u8 bLength; \
499− __u8 bDescriptorType; \
500− __u8 bDescriptorSubType; \
501− __u8 bFrameIndex; \
502− __u8 bmCapabilities; \
503− __u16 wWidth; \
504− __u16 wHeight; \
505− __u32 dwMinBitRate; \
506− __u32 dwMaxBitRate; \
507− __u32 dwMaxVideoFrameBufferSize; \
508− __u32 dwDefaultFrameInterval; \
509− __u8 bFrameIntervalType; \
510− __u32 dwFrameInterval[n]; \
498+ __u8 bLength; \
499+ __u8 bDescriptorType; \
500+ __u8 bDescriptorSubType; \
501+ __u8 bFrameIndex; \
502+ __u8 bmCapabilities; \
503+ __le16 wWidth; \
504+ __le16 wHeight; \
505+ __le32 dwMinBitRate; \
506+ __le32 dwMaxBitRate; \
507+ __le32 dwMaxVideoFrameBufferSize; \
508+ __le32 dwDefaultFrameInterval; \
509+ __u8 bFrameIntervalType; \
510+ __le32 dwFrameInterval[n]; \
511511 } __attribute__ ((packed))
512512
513513 /* MJPEG Payload - 3.1.1. MJPEG Video Format Descriptor */
@@ -529,19 +529,19 @@ struct uvc_format_mjpeg { · 15 unmodified lines
529529
530530 /* MJPEG Payload - 3.1.2. MJPEG Video Frame Descriptor */
531531 struct uvc_frame_mjpeg {
532− __u8 bLength;
533− __u8 bDescriptorType;
534− __u8 bDescriptorSubType;
535− __u8 bFrameIndex;
536− __u8 bmCapabilities;
537− __u16 wWidth;
538− __u16 wHeight;
539− __u32 dwMinBitRate;
540− __u32 dwMaxBitRate;
541− __u32 dwMaxVideoFrameBufferSize;
542− __u32 dwDefaultFrameInterval;
543− __u8 bFrameIntervalType;
544− __u32 dwFrameInterval[];
532+ __u8 bLength;
533+ __u8 bDescriptorType;
534+ __u8 bDescriptorSubType;
535+ __u8 bFrameIndex;
536+ __u8 bmCapabilities;
537+ __le16 wWidth;
538+ __le16 wHeight;
539+ __le32 dwMinBitRate;
540+ __le32 dwMaxBitRate;
541+ __le32 dwMaxVideoFrameBufferSize;
542+ __le32 dwDefaultFrameInterval;
543+ __u8 bFrameIntervalType;
544+ __le32 dwFrameInterval[];
545545 } __attribute__((__packed__));
546546
547547 #define UVC_DT_FRAME_MJPEG_SIZE(n) (26+4*(n))
@@ -551,19 +551,19 @@ struct uvc_frame_mjpeg { · 3 unmodified lines
551551
552552 #define DECLARE_UVC_FRAME_MJPEG(n) \
553553 struct UVC_FRAME_MJPEG(n) { \
554− __u8 bLength; \
555− __u8 bDescriptorType; \
556− __u8 bDescriptorSubType; \
557− __u8 bFrameIndex; \
558− __u8 bmCapabilities; \
559− __u16 wWidth; \
560− __u16 wHeight; \
561− __u32 dwMinBitRate; \
562− __u32 dwMaxBitRate; \
563− __u32 dwMaxVideoFrameBufferSize; \
564− __u32 dwDefaultFrameInterval; \
565− __u8 bFrameIntervalType; \
566− __u32 dwFrameInterval[n]; \
554+ __u8 bLength; \
555+ __u8 bDescriptorType; \
556+ __u8 bDescriptorSubType; \
557+ __u8 bFrameIndex; \
558+ __u8 bmCapabilities; \
559+ __le16 wWidth; \
560+ __le16 wHeight; \
561+ __le32 dwMinBitRate; \
562+ __le32 dwMaxBitRate; \
563+ __le32 dwMaxVideoFrameBufferSize; \
564+ __le32 dwDefaultFrameInterval; \
565+ __u8 bFrameIntervalType; \
566+ __le32 dwFrameInterval[n]; \
567567 } __attribute__ ((packed))
568568
569569 #endif /* __LINUX_USB_VIDEO_H */