[media] v4l: Replace enums with fixed-sized fields in public structure
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Wed, 6 Oct 2010 06:30:26 +0000 (03:30 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Tue, 22 Mar 2011 07:53:22 +0000 (04:53 -0300)
The v4l2_mbus_framefmt structure will be part of the public userspace
API and used (albeit indirectly) as an ioctl argument. As such, its size
must be fixed across userspace ABIs.

Replace the v4l2_field and v4l2_colorspace enums by __u32 fields and add
padding for future enhancements.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
include/linux/v4l2-mediabus.h

index a62cd64e84622582b7cbf725ee5a6372798dfdc8..feeb88cf705eaa61e57769dfd77f91cc71c0e9d0 100644 (file)
@@ -63,16 +63,17 @@ enum v4l2_mbus_pixelcode {
  * struct v4l2_mbus_framefmt - frame format on the media bus
  * @width:     frame width
  * @height:    frame height
- * @code:      data format code
- * @field:     used interlacing type
- * @colorspace:        colorspace of the data
+ * @code:      data format code (from enum v4l2_mbus_pixelcode)
+ * @field:     used interlacing type (from enum v4l2_field)
+ * @colorspace:        colorspace of the data (from enum v4l2_colorspace)
  */
 struct v4l2_mbus_framefmt {
-       __u32                           width;
-       __u32                           height;
-       __u32                           code;
-       enum v4l2_field                 field;
-       enum v4l2_colorspace            colorspace;
+       __u32                   width;
+       __u32                   height;
+       __u32                   code;
+       __u32                   field;
+       __u32                   colorspace;
+       __u32                   reserved[7];
 };
 
 #endif