|
@@ -572,6 +572,7 @@ struct v4l2_subdev_pad_config {
|
|
/**
|
|
/**
|
|
* struct v4l2_subdev_pad_ops - v4l2-subdev pad level operations
|
|
* struct v4l2_subdev_pad_ops - v4l2-subdev pad level operations
|
|
*
|
|
*
|
|
|
|
+ * @init_cfg: initialize the pad config to default values
|
|
* @enum_mbus_code: callback for VIDIOC_SUBDEV_ENUM_MBUS_CODE ioctl handler
|
|
* @enum_mbus_code: callback for VIDIOC_SUBDEV_ENUM_MBUS_CODE ioctl handler
|
|
* code.
|
|
* code.
|
|
* @enum_frame_size: callback for VIDIOC_SUBDEV_ENUM_FRAME_SIZE ioctl handler
|
|
* @enum_frame_size: callback for VIDIOC_SUBDEV_ENUM_FRAME_SIZE ioctl handler
|
|
@@ -607,6 +608,8 @@ struct v4l2_subdev_pad_config {
|
|
* may be adjusted by the subdev driver to device capabilities.
|
|
* may be adjusted by the subdev driver to device capabilities.
|
|
*/
|
|
*/
|
|
struct v4l2_subdev_pad_ops {
|
|
struct v4l2_subdev_pad_ops {
|
|
|
|
+ int (*init_cfg)(struct v4l2_subdev *sd,
|
|
|
|
+ struct v4l2_subdev_pad_config *cfg);
|
|
int (*enum_mbus_code)(struct v4l2_subdev *sd,
|
|
int (*enum_mbus_code)(struct v4l2_subdev *sd,
|
|
struct v4l2_subdev_pad_config *cfg,
|
|
struct v4l2_subdev_pad_config *cfg,
|
|
struct v4l2_subdev_mbus_code_enum *code);
|
|
struct v4l2_subdev_mbus_code_enum *code);
|
|
@@ -801,7 +804,12 @@ int v4l2_subdev_link_validate_default(struct v4l2_subdev *sd,
|
|
struct v4l2_subdev_format *source_fmt,
|
|
struct v4l2_subdev_format *source_fmt,
|
|
struct v4l2_subdev_format *sink_fmt);
|
|
struct v4l2_subdev_format *sink_fmt);
|
|
int v4l2_subdev_link_validate(struct media_link *link);
|
|
int v4l2_subdev_link_validate(struct media_link *link);
|
|
|
|
+
|
|
|
|
+struct v4l2_subdev_pad_config *
|
|
|
|
+v4l2_subdev_alloc_pad_config(struct v4l2_subdev *sd);
|
|
|
|
+void v4l2_subdev_free_pad_config(struct v4l2_subdev_pad_config *cfg);
|
|
#endif /* CONFIG_MEDIA_CONTROLLER */
|
|
#endif /* CONFIG_MEDIA_CONTROLLER */
|
|
|
|
+
|
|
void v4l2_subdev_init(struct v4l2_subdev *sd,
|
|
void v4l2_subdev_init(struct v4l2_subdev *sd,
|
|
const struct v4l2_subdev_ops *ops);
|
|
const struct v4l2_subdev_ops *ops);
|
|
|
|
|