mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-17 10:04:14 +08:00
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 <slongerbeam@gmail.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
This commit is contained in:
parent
958f047a25
commit
54f4bc2f2a
@ -398,6 +398,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,
|
||||
|
||||
@ -427,6 +442,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,
|
||||
};
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user