struct_v4l2_subdev_pad_ops(9) v4l2-subdev pad level operations

SYNOPSIS


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,struct v4l2_subdev_pad_config *cfg,struct v4l2_subdev_mbus_code_enum *code);
int (* enum_frame_size) (struct v4l2_subdev *sd,struct v4l2_subdev_pad_config *cfg,struct v4l2_subdev_frame_size_enum *fse);
int (* enum_frame_interval) (struct v4l2_subdev *sd,struct v4l2_subdev_pad_config *cfg,struct v4l2_subdev_frame_interval_enum *fie);
int (* get_fmt) (struct v4l2_subdev *sd,struct v4l2_subdev_pad_config *cfg,struct v4l2_subdev_format *format);
int (* set_fmt) (struct v4l2_subdev *sd,struct v4l2_subdev_pad_config *cfg,struct v4l2_subdev_format *format);
int (* get_selection) (struct v4l2_subdev *sd,struct v4l2_subdev_pad_config *cfg,struct v4l2_subdev_selection *sel);
int (* set_selection) (struct v4l2_subdev *sd,struct v4l2_subdev_pad_config *cfg,struct v4l2_subdev_selection *sel);
int (* get_edid) (struct v4l2_subdev *sd, struct v4l2_edid *edid);
int (* set_edid) (struct v4l2_subdev *sd, struct v4l2_edid *edid);
int (* dv_timings_cap) (struct v4l2_subdev *sd,struct v4l2_dv_timings_cap *cap);
int (* enum_dv_timings) (struct v4l2_subdev *sd,struct v4l2_enum_dv_timings *timings);
#ifdef CONFIG_MEDIA_CONTROLLER
int (* link_validate) (struct v4l2_subdev *sd, struct media_link *link,struct v4l2_subdev_format *source_fmt,struct v4l2_subdev_format *sink_fmt);
#endif
int (* get_frame_desc) (struct v4l2_subdev *sd, unsigned int pad,struct v4l2_mbus_frame_desc *fd);
int (* set_frame_desc) (struct v4l2_subdev *sd, unsigned int pad,struct v4l2_mbus_frame_desc *fd);
};

MEMBERS

init_cfg

initialize the pad config to default values

enum_mbus_code

callback for VIDIOC_SUBDEV_ENUM_MBUS_CODE ioctl handler code.

enum_frame_size

callback for VIDIOC_SUBDEV_ENUM_FRAME_SIZE ioctl handler code.

enum_frame_interval

callback for VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL ioctl handler code.

get_fmt

callback for VIDIOC_SUBDEV_G_FMT ioctl handler code.

set_fmt

callback for VIDIOC_SUBDEV_S_FMT ioctl handler code.

get_selection

callback for VIDIOC_SUBDEV_G_SELECTION ioctl handler code.

set_selection

callback for VIDIOC_SUBDEV_S_SELECTION ioctl handler code.

get_edid

callback for VIDIOC_SUBDEV_G_EDID ioctl handler code.

set_edid

callback for VIDIOC_SUBDEV_S_EDID ioctl handler code.

dv_timings_cap

callback for VIDIOC_SUBDEV_DV_TIMINGS_CAP ioctl handler code.

enum_dv_timings

callback for VIDIOC_SUBDEV_ENUM_DV_TIMINGS ioctl handler code.

link_validate

used by the media controller code to check if the links that belongs to a pipeline can be used for stream.

get_frame_desc

get the current low level media bus frame parameters.

set_frame_desc

set the low level media bus frame parameters, fd array may be adjusted by the subdev driver to device capabilities.

COPYRIGHT