Hi Hans, Thank you for the patch. On Friday 13 February 2015 12:30:01 Hans Verkuil wrote: > From: Hans Verkuil <hans.verkuil@xxxxxxxxx> > > While all other pad ops allow you to select whether to use the 'try' or > the 'active' formats, the enum ops didn't have that option and always used > 'try'. > > However, this will fail if a simple (e.g. PCI) bridge driver wants to use > the enum pad op of a subdev that's also used in a complex platform driver > like the omap3. Such a bridge driver generally wants to enum formats based > on the active format. > > So add a new 'which' field to these structs. Note that > V4L2_SUBDEV_FORMAT_TRY is 0, so the default remains TRY (applications need > to set reserved to 0). > > Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > --- > include/uapi/linux/v4l2-subdev.h | 12 +++++++++--- > 1 file changed, 9 insertions(+), 3 deletions(-) > > diff --git a/include/uapi/linux/v4l2-subdev.h > b/include/uapi/linux/v4l2-subdev.h index e0a7e3d..dbce2b5 100644 > --- a/include/uapi/linux/v4l2-subdev.h > +++ b/include/uapi/linux/v4l2-subdev.h > @@ -69,12 +69,14 @@ struct v4l2_subdev_crop { > * @pad: pad number, as reported by the media API > * @index: format index during enumeration > * @code: format code (MEDIA_BUS_FMT_ definitions) > + * @which: format type (from enum v4l2_subdev_format_whence) > */ > struct v4l2_subdev_mbus_code_enum { > __u32 pad; > __u32 index; > __u32 code; > - __u32 reserved[9]; > + __u32 which; > + __u32 reserved[8]; > }; > > /** > @@ -82,6 +84,7 @@ struct v4l2_subdev_mbus_code_enum { > * @pad: pad number, as reported by the media API > * @index: format index during enumeration > * @code: format code (MEDIA_BUS_FMT_ definitions) > + * @which: format type (from enum v4l2_subdev_format_whence) > */ > struct v4l2_subdev_frame_size_enum { > __u32 index; > @@ -91,7 +94,8 @@ struct v4l2_subdev_frame_size_enum { > __u32 max_width; > __u32 min_height; > __u32 max_height; > - __u32 reserved[9]; > + __u32 which; > + __u32 reserved[8]; > }; > > /** > @@ -113,6 +117,7 @@ struct v4l2_subdev_frame_interval { > * @width: frame width in pixels > * @height: frame height in pixels > * @interval: frame interval in seconds > + * @which: format type (from enum v4l2_subdev_format_whence) > */ > struct v4l2_subdev_frame_interval_enum { > __u32 index; > @@ -121,7 +126,8 @@ struct v4l2_subdev_frame_interval_enum { > __u32 width; > __u32 height; > struct v4l2_fract interval; > - __u32 reserved[9]; > + __u32 which; > + __u32 reserved[8]; > }; > > /** -- Regards, Laurent Pinchart -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html