浏览代码

[media] v4l: Replace enums with fixed-sized fields in public structure

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>
Laurent Pinchart 14 年之前
父节点
当前提交
84d0688dfc
共有 1 个文件被更改,包括 9 次插入8 次删除
  1. 9 8
      include/linux/v4l2-mediabus.h

+ 9 - 8
include/linux/v4l2-mediabus.h

@@ -63,16 +63,17 @@ enum v4l2_mbus_pixelcode {
  * struct v4l2_mbus_framefmt - frame format on the media bus
  * struct v4l2_mbus_framefmt - frame format on the media bus
  * @width:	frame width
  * @width:	frame width
  * @height:	frame height
  * @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 {
 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
 #endif