qc-usb: fix kernel version dependencies
[openwrt/svn-archive/archive.git] / multimedia / qc-usb / patches / 004-linux_2_6_28.patch
1 The following upstream commit renders qc-usb FTBS:
2
3 Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=601e9444f249d219009ec05674268d90f6f1cdcb
4 Commit: 601e9444f249d219009ec05674268d90f6f1cdcb
5 Parent: e138c592b50370621653fd962b2bc3f4e25dfe78
6 Author: Hans Verkuil <hverkuil@xs4all.nl>
7 AuthorDate: Sat Aug 23 07:24:07 2008 -0300
8 Committer: Mauro Carvalho Chehab <mchehab@redhat.com>
9 CommitDate: Sun Oct 12 09:36:54 2008 -0200
10
11 V4L/DVB (8786): v4l2: remove the priv field, use dev_get_drvdata instead
12
13 Remove the priv field and let video_get/set_drvdata use dev_get_drvdata
14 and dev_set_drvdata instead.
15
16 Convert all drivers that still used priv directly.
17
18 Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
19 Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
20
21 Copyright (C) 2008 Stefan Lippers-Hollmann <s.l-h@gmx.de>
22
23 --- a/qc-driver.c
24 +++ b/qc-driver.c
25 @@ -2255,7 +2255,11 @@ static unsigned int qc_v4l_poll(struct v
26 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
27 struct video_device *dev = video_devdata(file);
28 #endif
29 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,28)
30 + struct quickcam *qc = (struct quickcam *)video_get_drvdata(dev);
31 +#else
32 struct quickcam *qc = (struct quickcam *)dev->priv;
33 +#endif
34 struct qc_frame_data *fd = &qc->frame_data;
35 int mask;
36
37 @@ -2307,7 +2311,11 @@ static int qc_v4l_open(struct video_devi
38 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
39 struct video_device *dev = video_devdata(file);
40 #endif
41 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,28)
42 + struct quickcam *qc = video_get_drvdata(dev);
43 +#else
44 struct quickcam *qc = dev->priv;
45 +#endif
46 int r;
47
48 if (qcdebug&QC_DEBUGLOGIC || qcdebug&QC_DEBUGUSER) PDEBUG("qc_v4l_open(qc=%p)", qc);
49 @@ -2375,7 +2383,11 @@ static void qc_v4l_close(struct video_de
50 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
51 struct video_device *dev = video_devdata(file);
52 #endif
53 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,28)
54 + struct quickcam *qc = (struct quickcam *)video_get_drvdata(dev);
55 +#else
56 struct quickcam *qc = (struct quickcam *)dev->priv;
57 +#endif
58 if (qcdebug&QC_DEBUGLOGIC || qcdebug&QC_DEBUGUSER) PDEBUG("qc_v4l_close(dev=%p,qc=%p)",dev,qc);
59 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
60 TEST_BUGR_MSG(qc==NULL, "qc==NULL");
61 @@ -2423,7 +2435,11 @@ static long qc_v4l_read(struct video_dev
62 struct video_device *dev = video_devdata(file);
63 int noblock = file->f_flags & O_NONBLOCK;
64 #endif
65 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,28)
66 + struct quickcam *qc = (struct quickcam *)video_get_drvdata(dev);
67 +#else
68 struct quickcam *qc = (struct quickcam *)dev->priv;
69 +#endif
70 int frame_len;
71 unsigned char *frame;
72 long r = 0;
73 @@ -2478,7 +2494,11 @@ static int qc_v4l_mmap(
74 const void *start = (void *)vma->vm_start;
75 unsigned long size = vma->vm_end - vma->vm_start;
76 #endif
77 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,28)
78 + struct quickcam *qc = (struct quickcam *)video_get_drvdata(dev);
79 +#else
80 struct quickcam *qc = (struct quickcam *)dev->priv;
81 +#endif
82 unsigned char *frame;
83 int ret = 0, frame_size;
84 #if !HAVE_VMA && LINUX_VERSION_CODE<KERNEL_VERSION(2,6,0)
85 @@ -2510,7 +2530,11 @@ static int qc_v4l_ioctl(struct video_dev
86 struct video_device *dev = video_devdata(file);
87 void *argp = (void *)arg;
88 #endif
89 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,28)
90 + struct quickcam *qc = (struct quickcam *)video_get_drvdata(dev);
91 +#else
92 struct quickcam *qc = (struct quickcam *)dev->priv;
93 +#endif
94 int i, retval = 0;
95
96 if (qcdebug&QC_DEBUGLOGIC || qcdebug&QC_DEBUGUSER) PDEBUG("qc_v4l_ioctl(dev=%p,cmd=%u,arg=%p,qc=%p)",dev,cmd,argp,qc);
97 @@ -3165,7 +3189,11 @@ PDEBUG("poisoning qc in qc_usb_init");
98
99 /* Register V4L video device */
100 memcpy(&qc->vdev, &qc_v4l_template, sizeof(qc_v4l_template));
101 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,28)
102 + video_set_drvdata(&qc->vdev, qc);
103 +#else
104 qc->vdev.priv = qc;
105 +#endif
106 r = video_register_device(&qc->vdev, VFL_TYPE_GRABBER, video_nr);
107 if (r<0) goto fail3;
108 PRINTK(KERN_INFO, "Registered device: /dev/video%i", qc->vdev.minor);