aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/sn9c102
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/video/sn9c102')
-rw-r--r--drivers/media/video/sn9c102/sn9c102_core.c34
-rw-r--r--drivers/media/video/sn9c102/sn9c102_devtable.h20
-rw-r--r--drivers/media/video/sn9c102/sn9c102_hv7131d.c1
-rw-r--r--drivers/media/video/sn9c102/sn9c102_hv7131r.c1
-rw-r--r--drivers/media/video/sn9c102/sn9c102_mi0343.c1
-rw-r--r--drivers/media/video/sn9c102/sn9c102_mi0360.c1
-rw-r--r--drivers/media/video/sn9c102/sn9c102_mt9v111.c1
-rw-r--r--drivers/media/video/sn9c102/sn9c102_ov7630.c1
-rw-r--r--drivers/media/video/sn9c102/sn9c102_ov7660.c1
-rw-r--r--drivers/media/video/sn9c102/sn9c102_pas106b.c1
-rw-r--r--drivers/media/video/sn9c102/sn9c102_pas202bcb.c1
-rw-r--r--drivers/media/video/sn9c102/sn9c102_tas5110c1b.c1
-rw-r--r--drivers/media/video/sn9c102/sn9c102_tas5110d.c1
-rw-r--r--drivers/media/video/sn9c102/sn9c102_tas5130d1b.c1
14 files changed, 39 insertions, 27 deletions
diff --git a/drivers/media/video/sn9c102/sn9c102_core.c b/drivers/media/video/sn9c102/sn9c102_core.c
index 2da6938718f2..20e30bd9364b 100644
--- a/drivers/media/video/sn9c102/sn9c102_core.c
+++ b/drivers/media/video/sn9c102/sn9c102_core.c
@@ -116,6 +116,26 @@ MODULE_PARM_DESC(debug,
116 "\n"); 116 "\n");
117#endif 117#endif
118 118
119/*
120 Add the probe entries to this table. Be sure to add the entry in the right
121 place, since, on failure, the next probing routine is called according to
122 the order of the list below, from top to bottom.
123*/
124static int (*sn9c102_sensor_table[])(struct sn9c102_device *) = {
125 &sn9c102_probe_hv7131d, /* strong detection based on SENSOR ids */
126 &sn9c102_probe_hv7131r, /* strong detection based on SENSOR ids */
127 &sn9c102_probe_mi0343, /* strong detection based on SENSOR ids */
128 &sn9c102_probe_mi0360, /* strong detection based on SENSOR ids */
129 &sn9c102_probe_mt9v111, /* strong detection based on SENSOR ids */
130 &sn9c102_probe_pas106b, /* strong detection based on SENSOR ids */
131 &sn9c102_probe_pas202bcb, /* strong detection based on SENSOR ids */
132 &sn9c102_probe_ov7630, /* strong detection based on SENSOR ids */
133 &sn9c102_probe_ov7660, /* strong detection based on SENSOR ids */
134 &sn9c102_probe_tas5110c1b, /* detection based on USB pid/vid */
135 &sn9c102_probe_tas5110d, /* detection based on USB pid/vid */
136 &sn9c102_probe_tas5130d1b, /* detection based on USB pid/vid */
137};
138
119/*****************************************************************************/ 139/*****************************************************************************/
120 140
121static u32 141static u32
@@ -1746,7 +1766,7 @@ static int sn9c102_open(struct inode* inode, struct file* filp)
1746 if (!down_read_trylock(&sn9c102_dev_lock)) 1766 if (!down_read_trylock(&sn9c102_dev_lock))
1747 return -ERESTARTSYS; 1767 return -ERESTARTSYS;
1748 1768
1749 cam = video_get_drvdata(video_devdata(filp)); 1769 cam = video_drvdata(filp);
1750 1770
1751 if (wait_for_completion_interruptible(&cam->probe)) { 1771 if (wait_for_completion_interruptible(&cam->probe)) {
1752 up_read(&sn9c102_dev_lock); 1772 up_read(&sn9c102_dev_lock);
@@ -1843,7 +1863,7 @@ static int sn9c102_release(struct inode* inode, struct file* filp)
1843 1863
1844 down_write(&sn9c102_dev_lock); 1864 down_write(&sn9c102_dev_lock);
1845 1865
1846 cam = video_get_drvdata(video_devdata(filp)); 1866 cam = video_drvdata(filp);
1847 1867
1848 sn9c102_stop_transfer(cam); 1868 sn9c102_stop_transfer(cam);
1849 sn9c102_release_buffers(cam); 1869 sn9c102_release_buffers(cam);
@@ -1863,7 +1883,7 @@ static int sn9c102_release(struct inode* inode, struct file* filp)
1863static ssize_t 1883static ssize_t
1864sn9c102_read(struct file* filp, char __user * buf, size_t count, loff_t* f_pos) 1884sn9c102_read(struct file* filp, char __user * buf, size_t count, loff_t* f_pos)
1865{ 1885{
1866 struct sn9c102_device* cam = video_get_drvdata(video_devdata(filp)); 1886 struct sn9c102_device *cam = video_drvdata(filp);
1867 struct sn9c102_frame_t* f, * i; 1887 struct sn9c102_frame_t* f, * i;
1868 unsigned long lock_flags; 1888 unsigned long lock_flags;
1869 long timeout; 1889 long timeout;
@@ -1987,7 +2007,7 @@ exit:
1987 2007
1988static unsigned int sn9c102_poll(struct file *filp, poll_table *wait) 2008static unsigned int sn9c102_poll(struct file *filp, poll_table *wait)
1989{ 2009{
1990 struct sn9c102_device* cam = video_get_drvdata(video_devdata(filp)); 2010 struct sn9c102_device *cam = video_drvdata(filp);
1991 struct sn9c102_frame_t* f; 2011 struct sn9c102_frame_t* f;
1992 unsigned long lock_flags; 2012 unsigned long lock_flags;
1993 unsigned int mask = 0; 2013 unsigned int mask = 0;
@@ -2063,7 +2083,7 @@ static struct vm_operations_struct sn9c102_vm_ops = {
2063 2083
2064static int sn9c102_mmap(struct file* filp, struct vm_area_struct *vma) 2084static int sn9c102_mmap(struct file* filp, struct vm_area_struct *vma)
2065{ 2085{
2066 struct sn9c102_device* cam = video_get_drvdata(video_devdata(filp)); 2086 struct sn9c102_device *cam = video_drvdata(filp);
2067 unsigned long size = vma->vm_end - vma->vm_start, 2087 unsigned long size = vma->vm_end - vma->vm_start,
2068 start = vma->vm_start; 2088 start = vma->vm_start;
2069 void *pos; 2089 void *pos;
@@ -3075,7 +3095,7 @@ sn9c102_vidioc_s_audio(struct sn9c102_device* cam, void __user * arg)
3075static int sn9c102_ioctl_v4l2(struct inode* inode, struct file* filp, 3095static int sn9c102_ioctl_v4l2(struct inode* inode, struct file* filp,
3076 unsigned int cmd, void __user * arg) 3096 unsigned int cmd, void __user * arg)
3077{ 3097{
3078 struct sn9c102_device* cam = video_get_drvdata(video_devdata(filp)); 3098 struct sn9c102_device *cam = video_drvdata(filp);
3079 3099
3080 switch (cmd) { 3100 switch (cmd) {
3081 3101
@@ -3179,7 +3199,7 @@ static int sn9c102_ioctl_v4l2(struct inode* inode, struct file* filp,
3179static int sn9c102_ioctl(struct inode* inode, struct file* filp, 3199static int sn9c102_ioctl(struct inode* inode, struct file* filp,
3180 unsigned int cmd, unsigned long arg) 3200 unsigned int cmd, unsigned long arg)
3181{ 3201{
3182 struct sn9c102_device* cam = video_get_drvdata(video_devdata(filp)); 3202 struct sn9c102_device *cam = video_drvdata(filp);
3183 int err = 0; 3203 int err = 0;
3184 3204
3185 if (mutex_lock_interruptible(&cam->fileop_mutex)) 3205 if (mutex_lock_interruptible(&cam->fileop_mutex))
diff --git a/drivers/media/video/sn9c102/sn9c102_devtable.h b/drivers/media/video/sn9c102/sn9c102_devtable.h
index 90a401dc3884..e23734f6d6e2 100644
--- a/drivers/media/video/sn9c102/sn9c102_devtable.h
+++ b/drivers/media/video/sn9c102/sn9c102_devtable.h
@@ -140,24 +140,4 @@ extern int sn9c102_probe_tas5110c1b(struct sn9c102_device* cam);
140extern int sn9c102_probe_tas5110d(struct sn9c102_device* cam); 140extern int sn9c102_probe_tas5110d(struct sn9c102_device* cam);
141extern int sn9c102_probe_tas5130d1b(struct sn9c102_device* cam); 141extern int sn9c102_probe_tas5130d1b(struct sn9c102_device* cam);
142 142
143/*
144 Add the above entries to this table. Be sure to add the entry in the right
145 place, since, on failure, the next probing routine is called according to
146 the order of the list below, from top to bottom.
147*/
148static int (*sn9c102_sensor_table[])(struct sn9c102_device*) = {
149 &sn9c102_probe_hv7131d, /* strong detection based on SENSOR ids */
150 &sn9c102_probe_hv7131r, /* strong detection based on SENSOR ids */
151 &sn9c102_probe_mi0343, /* strong detection based on SENSOR ids */
152 &sn9c102_probe_mi0360, /* strong detection based on SENSOR ids */
153 &sn9c102_probe_mt9v111, /* strong detection based on SENSOR ids */
154 &sn9c102_probe_pas106b, /* strong detection based on SENSOR ids */
155 &sn9c102_probe_pas202bcb, /* strong detection based on SENSOR ids */
156 &sn9c102_probe_ov7630, /* strong detection based on SENSOR ids */
157 &sn9c102_probe_ov7660, /* strong detection based on SENSOR ids */
158 &sn9c102_probe_tas5110c1b, /* detection based on USB pid/vid */
159 &sn9c102_probe_tas5110d, /* detection based on USB pid/vid */
160 &sn9c102_probe_tas5130d1b, /* detection based on USB pid/vid */
161};
162
163#endif /* _SN9C102_DEVTABLE_H_ */ 143#endif /* _SN9C102_DEVTABLE_H_ */
diff --git a/drivers/media/video/sn9c102/sn9c102_hv7131d.c b/drivers/media/video/sn9c102/sn9c102_hv7131d.c
index eaf9ad0dc8a6..db2434948939 100644
--- a/drivers/media/video/sn9c102/sn9c102_hv7131d.c
+++ b/drivers/media/video/sn9c102/sn9c102_hv7131d.c
@@ -20,6 +20,7 @@
20 ***************************************************************************/ 20 ***************************************************************************/
21 21
22#include "sn9c102_sensor.h" 22#include "sn9c102_sensor.h"
23#include "sn9c102_devtable.h"
23 24
24 25
25static int hv7131d_init(struct sn9c102_device* cam) 26static int hv7131d_init(struct sn9c102_device* cam)
diff --git a/drivers/media/video/sn9c102/sn9c102_hv7131r.c b/drivers/media/video/sn9c102/sn9c102_hv7131r.c
index 0fc401223cfc..4295887ff609 100644
--- a/drivers/media/video/sn9c102/sn9c102_hv7131r.c
+++ b/drivers/media/video/sn9c102/sn9c102_hv7131r.c
@@ -20,6 +20,7 @@
20 ***************************************************************************/ 20 ***************************************************************************/
21 21
22#include "sn9c102_sensor.h" 22#include "sn9c102_sensor.h"
23#include "sn9c102_devtable.h"
23 24
24 25
25static int hv7131r_init(struct sn9c102_device* cam) 26static int hv7131r_init(struct sn9c102_device* cam)
diff --git a/drivers/media/video/sn9c102/sn9c102_mi0343.c b/drivers/media/video/sn9c102/sn9c102_mi0343.c
index 00b134ca0a3d..1f5b09bec89c 100644
--- a/drivers/media/video/sn9c102/sn9c102_mi0343.c
+++ b/drivers/media/video/sn9c102/sn9c102_mi0343.c
@@ -20,6 +20,7 @@
20 ***************************************************************************/ 20 ***************************************************************************/
21 21
22#include "sn9c102_sensor.h" 22#include "sn9c102_sensor.h"
23#include "sn9c102_devtable.h"
23 24
24 25
25static int mi0343_init(struct sn9c102_device* cam) 26static int mi0343_init(struct sn9c102_device* cam)
diff --git a/drivers/media/video/sn9c102/sn9c102_mi0360.c b/drivers/media/video/sn9c102/sn9c102_mi0360.c
index f8d81d82e8d5..d973fc1973d9 100644
--- a/drivers/media/video/sn9c102/sn9c102_mi0360.c
+++ b/drivers/media/video/sn9c102/sn9c102_mi0360.c
@@ -20,6 +20,7 @@
20 ***************************************************************************/ 20 ***************************************************************************/
21 21
22#include "sn9c102_sensor.h" 22#include "sn9c102_sensor.h"
23#include "sn9c102_devtable.h"
23 24
24 25
25static int mi0360_init(struct sn9c102_device* cam) 26static int mi0360_init(struct sn9c102_device* cam)
diff --git a/drivers/media/video/sn9c102/sn9c102_mt9v111.c b/drivers/media/video/sn9c102/sn9c102_mt9v111.c
index 3b98ac3bbc38..95986eb492e4 100644
--- a/drivers/media/video/sn9c102/sn9c102_mt9v111.c
+++ b/drivers/media/video/sn9c102/sn9c102_mt9v111.c
@@ -20,6 +20,7 @@
20 ***************************************************************************/ 20 ***************************************************************************/
21 21
22#include "sn9c102_sensor.h" 22#include "sn9c102_sensor.h"
23#include "sn9c102_devtable.h"
23 24
24 25
25static int mt9v111_init(struct sn9c102_device *cam) 26static int mt9v111_init(struct sn9c102_device *cam)
diff --git a/drivers/media/video/sn9c102/sn9c102_ov7630.c b/drivers/media/video/sn9c102/sn9c102_ov7630.c
index e4856fd77982..803712c29f02 100644
--- a/drivers/media/video/sn9c102/sn9c102_ov7630.c
+++ b/drivers/media/video/sn9c102/sn9c102_ov7630.c
@@ -20,6 +20,7 @@
20 ***************************************************************************/ 20 ***************************************************************************/
21 21
22#include "sn9c102_sensor.h" 22#include "sn9c102_sensor.h"
23#include "sn9c102_devtable.h"
23 24
24 25
25static int ov7630_init(struct sn9c102_device* cam) 26static int ov7630_init(struct sn9c102_device* cam)
diff --git a/drivers/media/video/sn9c102/sn9c102_ov7660.c b/drivers/media/video/sn9c102/sn9c102_ov7660.c
index 8aae416ba8ec..7977795d342b 100644
--- a/drivers/media/video/sn9c102/sn9c102_ov7660.c
+++ b/drivers/media/video/sn9c102/sn9c102_ov7660.c
@@ -20,6 +20,7 @@
20 ***************************************************************************/ 20 ***************************************************************************/
21 21
22#include "sn9c102_sensor.h" 22#include "sn9c102_sensor.h"
23#include "sn9c102_devtable.h"
23 24
24 25
25static int ov7660_init(struct sn9c102_device* cam) 26static int ov7660_init(struct sn9c102_device* cam)
diff --git a/drivers/media/video/sn9c102/sn9c102_pas106b.c b/drivers/media/video/sn9c102/sn9c102_pas106b.c
index 360f2a848bc0..81cd969c1b7b 100644
--- a/drivers/media/video/sn9c102/sn9c102_pas106b.c
+++ b/drivers/media/video/sn9c102/sn9c102_pas106b.c
@@ -21,6 +21,7 @@
21 21
22#include <linux/delay.h> 22#include <linux/delay.h>
23#include "sn9c102_sensor.h" 23#include "sn9c102_sensor.h"
24#include "sn9c102_devtable.h"
24 25
25 26
26static int pas106b_init(struct sn9c102_device* cam) 27static int pas106b_init(struct sn9c102_device* cam)
diff --git a/drivers/media/video/sn9c102/sn9c102_pas202bcb.c b/drivers/media/video/sn9c102/sn9c102_pas202bcb.c
index ca4a1506ed3d..2782f94cf6f8 100644
--- a/drivers/media/video/sn9c102/sn9c102_pas202bcb.c
+++ b/drivers/media/video/sn9c102/sn9c102_pas202bcb.c
@@ -26,6 +26,7 @@
26 26
27#include <linux/delay.h> 27#include <linux/delay.h>
28#include "sn9c102_sensor.h" 28#include "sn9c102_sensor.h"
29#include "sn9c102_devtable.h"
29 30
30 31
31static int pas202bcb_init(struct sn9c102_device* cam) 32static int pas202bcb_init(struct sn9c102_device* cam)
diff --git a/drivers/media/video/sn9c102/sn9c102_tas5110c1b.c b/drivers/media/video/sn9c102/sn9c102_tas5110c1b.c
index e7d2de2bace1..04cdfdde8564 100644
--- a/drivers/media/video/sn9c102/sn9c102_tas5110c1b.c
+++ b/drivers/media/video/sn9c102/sn9c102_tas5110c1b.c
@@ -20,6 +20,7 @@
20 ***************************************************************************/ 20 ***************************************************************************/
21 21
22#include "sn9c102_sensor.h" 22#include "sn9c102_sensor.h"
23#include "sn9c102_devtable.h"
23 24
24 25
25static int tas5110c1b_init(struct sn9c102_device* cam) 26static int tas5110c1b_init(struct sn9c102_device* cam)
diff --git a/drivers/media/video/sn9c102/sn9c102_tas5110d.c b/drivers/media/video/sn9c102/sn9c102_tas5110d.c
index d32fdbccdc5e..9372e6f9fcff 100644
--- a/drivers/media/video/sn9c102/sn9c102_tas5110d.c
+++ b/drivers/media/video/sn9c102/sn9c102_tas5110d.c
@@ -20,6 +20,7 @@
20 ***************************************************************************/ 20 ***************************************************************************/
21 21
22#include "sn9c102_sensor.h" 22#include "sn9c102_sensor.h"
23#include "sn9c102_devtable.h"
23 24
24 25
25static int tas5110d_init(struct sn9c102_device* cam) 26static int tas5110d_init(struct sn9c102_device* cam)
diff --git a/drivers/media/video/sn9c102/sn9c102_tas5130d1b.c b/drivers/media/video/sn9c102/sn9c102_tas5130d1b.c
index 56fb1d575a8a..a30bbc4389f5 100644
--- a/drivers/media/video/sn9c102/sn9c102_tas5130d1b.c
+++ b/drivers/media/video/sn9c102/sn9c102_tas5130d1b.c
@@ -20,6 +20,7 @@
20 ***************************************************************************/ 20 ***************************************************************************/
21 21
22#include "sn9c102_sensor.h" 22#include "sn9c102_sensor.h"
23#include "sn9c102_devtable.h"
23 24
24 25
25static int tas5130d1b_init(struct sn9c102_device* cam) 26static int tas5130d1b_init(struct sn9c102_device* cam)