The patch number 8111 was added via Hans Verkuil <[EMAIL PROTECTED]>
to http://linuxtv.org/hg/v4l-dvb master development tree.

Kernel patches in this development tree may be modified to be backward
compatible with older kernels. Compatibility modifications will be
removed before inclusion into the mainstream Kernel

If anyone has any objections, please let us know by sending a message to:
        [EMAIL PROTECTED]

------

From: Hans Verkuil  <[EMAIL PROTECTED]>
ivtv/cx18: fix compile error when CONFIG_VIDEO_ADV_DEBUG is not defined.


Thanks to Randy Dunlap for reporting this.

Signed-off-by: Hans Verkuil <[EMAIL PROTECTED]>


---

 linux/drivers/media/video/cx18/cx18-ioctl.c |   42 +++++++-------
 linux/drivers/media/video/ivtv/ivtv-ioctl.c |   59 ++++++++++----------
 2 files changed, 54 insertions(+), 47 deletions(-)

diff -r 49ea64868f0c -r 6742fedbc990 linux/drivers/media/video/cx18/cx18-ioctl.c
--- a/linux/drivers/media/video/cx18/cx18-ioctl.c       Mon Jun 23 09:31:29 
2008 -0300
+++ b/linux/drivers/media/video/cx18/cx18-ioctl.c       Wed Jun 25 08:00:17 
2008 +0200
@@ -128,25 +128,6 @@ u16 cx18_get_service_set(struct v4l2_sli
        return set;
 }
 
-static int cx18_cxc(struct cx18 *cx, unsigned int cmd, void *arg)
-{
-       struct v4l2_register *regs = arg;
-       unsigned long flags;
-
-       if (!capable(CAP_SYS_ADMIN))
-               return -EPERM;
-       if (regs->reg >= CX18_MEM_OFFSET + CX18_MEM_SIZE)
-               return -EINVAL;
-
-       spin_lock_irqsave(&cx18_cards_lock, flags);
-       if (cmd == VIDIOC_DBG_G_REGISTER)
-               regs->val = read_enc(regs->reg);
-       else
-               write_enc(regs->val, regs->reg);
-       spin_unlock_irqrestore(&cx18_cards_lock, flags);
-       return 0;
-}
-
 static int cx18_g_fmt_vid_cap(struct file *file, void *fh,
                                struct v4l2_format *fmt)
 {
@@ -364,6 +345,26 @@ static int cx18_g_chip_ident(struct file
        return -EINVAL;
 }
 
+#ifdef CONFIG_VIDEO_ADV_DEBUG
+static int cx18_cxc(struct cx18 *cx, unsigned int cmd, void *arg)
+{
+       struct v4l2_register *regs = arg;
+       unsigned long flags;
+
+       if (!capable(CAP_SYS_ADMIN))
+               return -EPERM;
+       if (regs->reg >= CX18_MEM_OFFSET + CX18_MEM_SIZE)
+               return -EINVAL;
+
+       spin_lock_irqsave(&cx18_cards_lock, flags);
+       if (cmd == VIDIOC_DBG_G_REGISTER)
+               regs->val = read_enc(regs->reg);
+       else
+               write_enc(regs->val, regs->reg);
+       spin_unlock_irqrestore(&cx18_cards_lock, flags);
+       return 0;
+}
+
 static int cx18_g_register(struct file *file, void *fh,
                                struct v4l2_register *reg)
 {
@@ -391,6 +392,7 @@ static int cx18_s_register(struct file *
        return cx18_call_i2c_client(cx, reg->match_chip, VIDIOC_DBG_S_REGISTER,
                                        reg);
 }
+#endif
 
 static int cx18_g_priority(struct file *file, void *fh, enum v4l2_priority *p)
 {
@@ -915,8 +917,10 @@ void cx18_set_funcs(struct video_device 
        vdev->vidioc_try_fmt_sliced_vbi_cap  = cx18_try_fmt_sliced_vbi_cap;
        vdev->vidioc_g_sliced_vbi_cap        = cx18_g_sliced_vbi_cap;
        vdev->vidioc_g_chip_ident            = cx18_g_chip_ident;
+#ifdef CONFIG_VIDEO_ADV_DEBUG
        vdev->vidioc_g_register              = cx18_g_register;
        vdev->vidioc_s_register              = cx18_s_register;
+#endif
        vdev->vidioc_default                 = cx18_default;
        vdev->vidioc_queryctrl               = cx18_queryctrl;
        vdev->vidioc_querymenu               = cx18_querymenu;
diff -r 49ea64868f0c -r 6742fedbc990 linux/drivers/media/video/ivtv/ivtv-ioctl.c
--- a/linux/drivers/media/video/ivtv/ivtv-ioctl.c       Mon Jun 23 09:31:29 
2008 -0300
+++ b/linux/drivers/media/video/ivtv/ivtv-ioctl.c       Wed Jun 25 08:00:17 
2008 +0200
@@ -314,34 +314,6 @@ static int ivtv_video_command(struct ivt
        return 0;
 }
 
-static int ivtv_itvc(struct ivtv *itv, unsigned int cmd, void *arg)
-{
-       struct v4l2_register *regs = arg;
-       unsigned long flags;
-       volatile u8 __iomem *reg_start;
-
-       if (!capable(CAP_SYS_ADMIN))
-               return -EPERM;
-       if (regs->reg >= IVTV_REG_OFFSET && regs->reg < IVTV_REG_OFFSET + 
IVTV_REG_SIZE)
-               reg_start = itv->reg_mem - IVTV_REG_OFFSET;
-       else if (itv->has_cx23415 && regs->reg >= IVTV_DECODER_OFFSET &&
-                       regs->reg < IVTV_DECODER_OFFSET + IVTV_DECODER_SIZE)
-               reg_start = itv->dec_mem - IVTV_DECODER_OFFSET;
-       else if (regs->reg >= 0 && regs->reg < IVTV_ENCODER_SIZE)
-               reg_start = itv->enc_mem;
-       else
-               return -EINVAL;
-
-       spin_lock_irqsave(&ivtv_cards_lock, flags);
-       if (cmd == VIDIOC_DBG_G_REGISTER) {
-               regs->val = readl(regs->reg + reg_start);
-       } else {
-               writel(regs->val, regs->reg + reg_start);
-       }
-       spin_unlock_irqrestore(&ivtv_cards_lock, flags);
-       return 0;
-}
-
 static int ivtv_g_fmt_sliced_vbi_out(struct file *file, void *fh, struct 
v4l2_format *fmt)
 {
        struct ivtv *itv = ((struct ivtv_open_id *)fh)->itv;
@@ -715,6 +687,34 @@ static int ivtv_g_chip_ident(struct file
        return -EINVAL;
 }
 
+#ifdef CONFIG_VIDEO_ADV_DEBUG
+static int ivtv_itvc(struct ivtv *itv, unsigned int cmd, void *arg)
+{
+       struct v4l2_register *regs = arg;
+       unsigned long flags;
+       u8 __iomem *reg_start;
+
+       if (!capable(CAP_SYS_ADMIN))
+               return -EPERM;
+       if (regs->reg >= IVTV_REG_OFFSET && regs->reg < IVTV_REG_OFFSET + 
IVTV_REG_SIZE)
+               reg_start = itv->reg_mem - IVTV_REG_OFFSET;
+       else if (itv->has_cx23415 && regs->reg >= IVTV_DECODER_OFFSET &&
+                       regs->reg < IVTV_DECODER_OFFSET + IVTV_DECODER_SIZE)
+               reg_start = itv->dec_mem - IVTV_DECODER_OFFSET;
+       else if (regs->reg >= 0 && regs->reg < IVTV_ENCODER_SIZE)
+               reg_start = itv->enc_mem;
+       else
+               return -EINVAL;
+
+       spin_lock_irqsave(&ivtv_cards_lock, flags);
+       if (cmd == VIDIOC_DBG_G_REGISTER)
+               regs->val = readl(regs->reg + reg_start);
+       else
+               writel(regs->val, regs->reg + reg_start);
+       spin_unlock_irqrestore(&ivtv_cards_lock, flags);
+       return 0;
+}
+
 static int ivtv_g_register(struct file *file, void *fh, struct v4l2_register 
*reg)
 {
        struct ivtv *itv = ((struct ivtv_open_id *)fh)->itv;
@@ -736,6 +736,7 @@ static int ivtv_s_register(struct file *
                return ivtv_i2c_id(itv, reg->match_chip, VIDIOC_DBG_S_REGISTER, 
reg);
        return ivtv_call_i2c_client(itv, reg->match_chip, 
VIDIOC_DBG_S_REGISTER, reg);
 }
+#endif
 
 static int ivtv_g_priority(struct file *file, void *fh, enum v4l2_priority *p)
 {
@@ -1896,8 +1897,10 @@ void ivtv_set_funcs(struct video_device 
        vdev->vidioc_try_fmt_sliced_vbi_out = ivtv_try_fmt_sliced_vbi_out;
        vdev->vidioc_g_sliced_vbi_cap       = ivtv_g_sliced_vbi_cap;
        vdev->vidioc_g_chip_ident           = ivtv_g_chip_ident;
+#ifdef CONFIG_VIDEO_ADV_DEBUG
        vdev->vidioc_g_register             = ivtv_g_register;
        vdev->vidioc_s_register             = ivtv_s_register;
+#endif
        vdev->vidioc_default                = ivtv_default;
        vdev->vidioc_queryctrl              = ivtv_queryctrl;
        vdev->vidioc_querymenu              = ivtv_querymenu;


---

Patch is available at: 
http://linuxtv.org/hg/v4l-dvb/rev/6742fedbc9902200fcedc9dd29098717269ab59b

_______________________________________________
linuxtv-commits mailing list
linuxtv-commits@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to