media: imx: capture: Allow event subscribe/unsubscribe
Steve Longerbeam
maintainerPATCH 1/1 media: imx: capture: Allow event subscribe/unsubscribe
Implement the vidioc_(un)subscribe_event operations. Imx will allow subscribing to the imx-specific frame interval error events, events from subdevices (V4L2_EVENT_SOURCE_CHANGE), and control events.
Signed-off-by Steve Longerbeam <[email protected]>
--- drivers/staging/media/imx/imx-media-capture.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+)
drivers/staging/media/imx/imx-media-capture.c +18 -0
@@ -335,6 +335,21 @@ static int capture_s_parm(struct file *file, void *fh,return 0 ; } +static int capture_subscribe_event (struct v4l2_fh *fh, +const struct v4l2_event_subscription *sub) +{ +switch (sub->type) { +case V4L2_EVENT_IMX_FRAME_INTERVAL_ERROR : +return v4l2_event_subscribe (fh, sub,0 ,NULL ); +case V4L2_EVENT_SOURCE_CHANGE : +return v4l2_src_change_event_subscribe (fh, sub); +case V4L2_EVENT_CTRL : +return v4l2_ctrl_subscribe_event (fh, sub); +default : +return -EINVAL ; + } +} +static const struct v4l2_ioctl_ops capture_ioctl_ops = { .vidioc_querycap = vidioc_querycap,
@@ -362,6 +377,9 @@ static const struct v4l2_ioctl_ops capture_ioctl_ops = { .vidioc_expbuf = vb2_ioctl_expbuf, .vidioc_streamon = vb2_ioctl_streamon, .vidioc_streamoff = vb2_ioctl_streamoff, + + .vidioc_subscribe_event = capture_subscribe_event, + .vidioc_unsubscribe_event = v4l2_event_unsubscribe, };/*
Signature · 1 line
2.17.1