media: subdev: add v4l2_subdev_get_fmt() helper function

Add v4l2_subdev_get_fmt() helper function which implements
v4l2_subdev_pad_ops.get_fmt using active state. Subdev drivers that
support active state and do not need to do anything special in their
get_fmt op can use this helper directly for v4l2_subdev_pad_ops.get_fmt.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Reviewed-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
This commit is contained in:
Tomi Valkeinen
2022-04-12 10:42:48 +01:00
committed by Mauro Carvalho Chehab
parent b2ac238724
commit 14a6fca77a
2 changed files with 43 additions and 0 deletions

View File

@@ -1303,6 +1303,27 @@ v4l2_subdev_lock_and_get_active_state(struct v4l2_subdev *sd)
return sd->active_state;
}
#if defined(CONFIG_VIDEO_V4L2_SUBDEV_API)
/**
* v4l2_subdev_get_fmt() - Fill format based on state
* @sd: subdevice
* @state: subdevice state
* @format: pointer to &struct v4l2_subdev_format
*
* Fill @format->format field based on the information in the @format struct.
*
* This function can be used by the subdev drivers which support active state to
* implement v4l2_subdev_pad_ops.get_fmt if the subdev driver does not need to
* do anything special in their get_fmt op.
*
* Returns 0 on success, error value otherwise.
*/
int v4l2_subdev_get_fmt(struct v4l2_subdev *sd, struct v4l2_subdev_state *state,
struct v4l2_subdev_format *format);
#endif /* CONFIG_VIDEO_V4L2_SUBDEV_API */
#endif /* CONFIG_MEDIA_CONTROLLER */
/**