summaryrefslogtreecommitdiff
path: root/drivers/media/video/v4l2-subdev.c
diff options
context:
space:
mode:
authorHans Verkuil <hverkuil@xs4all.nl>2008-12-18 17:16:24 +0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2008-12-30 14:39:28 +0300
commit1fe2740ff10b3de1aab8f88f2f05547e5f369035 (patch)
treeefe195799feb740906d0adc35ec7e30efb2e8f74 /drivers/media/video/v4l2-subdev.c
parent531c98e71805b32e9ea35a218119100bbd2b7615 (diff)
downloadlinux-1fe2740ff10b3de1aab8f88f2f05547e5f369035.tar.xz
V4L/DVB (9957): v4l2-subdev: add g_sliced_vbi_cap and add NULL pointer checks
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/v4l2-subdev.c')
-rw-r--r--drivers/media/video/v4l2-subdev.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/media/video/v4l2-subdev.c b/drivers/media/video/v4l2-subdev.c
index fe1f01c970ac..e3612f29d0df 100644
--- a/drivers/media/video/v4l2-subdev.c
+++ b/drivers/media/video/v4l2-subdev.c
@@ -40,13 +40,13 @@ int v4l2_subdev_command(struct v4l2_subdev *sd, unsigned cmd, void *arg)
case VIDIOC_G_CHIP_IDENT:
return v4l2_subdev_call(sd, core, g_chip_ident, arg);
case VIDIOC_INT_S_STANDBY:
- return v4l2_subdev_call(sd, core, s_standby, *(u32 *)arg);
+ return v4l2_subdev_call(sd, core, s_standby, arg ? (*(u32 *)arg) : 0);
case VIDIOC_INT_RESET:
- return v4l2_subdev_call(sd, core, reset, *(u32 *)arg);
+ return v4l2_subdev_call(sd, core, reset, arg ? (*(u32 *)arg) : 0);
case VIDIOC_INT_S_GPIO:
- return v4l2_subdev_call(sd, core, s_gpio, *(u32 *)arg);
+ return v4l2_subdev_call(sd, core, s_gpio, arg ? (*(u32 *)arg) : 0);
case VIDIOC_INT_INIT:
- return v4l2_subdev_call(sd, core, init, *(u32 *)arg);
+ return v4l2_subdev_call(sd, core, init, arg ? (*(u32 *)arg) : 0);
#ifdef CONFIG_VIDEO_ADV_DEBUG
case VIDIOC_DBG_G_REGISTER:
return v4l2_subdev_call(sd, core, g_register, arg);
@@ -90,6 +90,8 @@ int v4l2_subdev_command(struct v4l2_subdev *sd, unsigned cmd, void *arg)
return v4l2_subdev_call(sd, video, s_vbi_data, arg);
case VIDIOC_INT_G_VBI_DATA:
return v4l2_subdev_call(sd, video, g_vbi_data, arg);
+ case VIDIOC_G_SLICED_VBI_CAP:
+ return v4l2_subdev_call(sd, video, g_sliced_vbi_cap, arg);
case VIDIOC_S_FMT:
return v4l2_subdev_call(sd, video, s_fmt, arg);
case VIDIOC_G_FMT: