aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-12-17 12:56:29 -0500
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-12-17 12:56:29 -0500
commitea9e7b5569a538123dc4d60ba36b9170ca8e8830 (patch)
tree138de44791101f83193df5733f98f0117805d139 /drivers
parent980110c5da56cb56d3356f5a5251fdc920f83ba6 (diff)
parent2300317f30770abd625fb051b0e5d373ce55a6ad (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb
* git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: V4L/DVB (6820): s5h1409: QAM SNR related fixes V4L/DVB (6819): i2c: fix drivers/media/video/bt866.c V4L/DVB (6814): Makefile: always enter video/ V4L/DVB (6798): saa7134: enable LNA in analog mode for Hauppauge WinTV HVR-1110 V4L/DVB (6803): buf-core.c locking fixes
Diffstat (limited to 'drivers')
-rw-r--r--drivers/media/Makefile2
-rw-r--r--drivers/media/dvb/frontends/s5h1409.c11
-rw-r--r--drivers/media/video/bt866.c1
-rw-r--r--drivers/media/video/saa7134/saa7134-cards.c1
-rw-r--r--drivers/media/video/videobuf-core.c4
5 files changed, 12 insertions, 7 deletions
diff --git a/drivers/media/Makefile b/drivers/media/Makefile
index 8fa19939c2b6..8cf91353b56a 100644
--- a/drivers/media/Makefile
+++ b/drivers/media/Makefile
@@ -3,6 +3,6 @@
3# 3#
4 4
5obj-y := common/ 5obj-y := common/
6obj-$(CONFIG_VIDEO_DEV) += video/ 6obj-y += video/
7obj-$(CONFIG_VIDEO_DEV) += radio/ 7obj-$(CONFIG_VIDEO_DEV) += radio/
8obj-$(CONFIG_DVB_CORE) += dvb/ 8obj-$(CONFIG_DVB_CORE) += dvb/
diff --git a/drivers/media/dvb/frontends/s5h1409.c b/drivers/media/dvb/frontends/s5h1409.c
index 8dee7ec9456a..562d9208857a 100644
--- a/drivers/media/dvb/frontends/s5h1409.c
+++ b/drivers/media/dvb/frontends/s5h1409.c
@@ -107,7 +107,7 @@ static struct vsb_snr_tab {
107 u16 val; 107 u16 val;
108 u16 data; 108 u16 data;
109} vsb_snr_tab[] = { 109} vsb_snr_tab[] = {
110 { 1023, 770, }, 110 { 924, 300, },
111 { 923, 300, }, 111 { 923, 300, },
112 { 918, 295, }, 112 { 918, 295, },
113 { 915, 290, }, 113 { 915, 290, },
@@ -154,6 +154,7 @@ static struct qam64_snr_tab {
154 u16 val; 154 u16 val;
155 u16 data; 155 u16 data;
156} qam64_snr_tab[] = { 156} qam64_snr_tab[] = {
157 { 1, 0, },
157 { 12, 300, }, 158 { 12, 300, },
158 { 15, 290, }, 159 { 15, 290, },
159 { 18, 280, }, 160 { 18, 280, },
@@ -217,6 +218,7 @@ static struct qam64_snr_tab {
217 { 95, 202, }, 218 { 95, 202, },
218 { 96, 201, }, 219 { 96, 201, },
219 { 104, 200, }, 220 { 104, 200, },
221 { 255, 0, },
220}; 222};
221 223
222/* QAM256 SNR lookup table */ 224/* QAM256 SNR lookup table */
@@ -224,6 +226,7 @@ static struct qam256_snr_tab {
224 u16 val; 226 u16 val;
225 u16 data; 227 u16 data;
226} qam256_snr_tab[] = { 228} qam256_snr_tab[] = {
229 { 1, 0, },
227 { 12, 400, }, 230 { 12, 400, },
228 { 13, 390, }, 231 { 13, 390, },
229 { 15, 380, }, 232 { 15, 380, },
@@ -292,6 +295,7 @@ static struct qam256_snr_tab {
292 { 105, 262, }, 295 { 105, 262, },
293 { 106, 261, }, 296 { 106, 261, },
294 { 110, 260, }, 297 { 110, 260, },
298 { 255, 0, },
295}; 299};
296 300
297/* 8 bit registers, 16 bit values */ 301/* 8 bit registers, 16 bit values */
@@ -670,14 +674,15 @@ static int s5h1409_read_snr(struct dvb_frontend* fe, u16* snr)
670 u16 reg; 674 u16 reg;
671 dprintk("%s()\n", __FUNCTION__); 675 dprintk("%s()\n", __FUNCTION__);
672 676
673 reg = s5h1409_readreg(state, 0xf1) & 0x1ff;
674
675 switch(state->current_modulation) { 677 switch(state->current_modulation) {
676 case QAM_64: 678 case QAM_64:
679 reg = s5h1409_readreg(state, 0xf0) & 0xff;
677 return s5h1409_qam64_lookup_snr(fe, snr, reg); 680 return s5h1409_qam64_lookup_snr(fe, snr, reg);
678 case QAM_256: 681 case QAM_256:
682 reg = s5h1409_readreg(state, 0xf0) & 0xff;
679 return s5h1409_qam256_lookup_snr(fe, snr, reg); 683 return s5h1409_qam256_lookup_snr(fe, snr, reg);
680 case VSB_8: 684 case VSB_8:
685 reg = s5h1409_readreg(state, 0xf1) & 0x3ff;
681 return s5h1409_vsb_lookup_snr(fe, snr, reg); 686 return s5h1409_vsb_lookup_snr(fe, snr, reg);
682 default: 687 default:
683 break; 688 break;
diff --git a/drivers/media/video/bt866.c b/drivers/media/video/bt866.c
index b767b098d14b..96b415576f0d 100644
--- a/drivers/media/video/bt866.c
+++ b/drivers/media/video/bt866.c
@@ -300,7 +300,6 @@ static struct i2c_client bt866_client_tmpl =
300 .addr = 0, 300 .addr = 0,
301 .adapter = NULL, 301 .adapter = NULL,
302 .driver = &i2c_driver_bt866, 302 .driver = &i2c_driver_bt866,
303 .usage_count = 0
304}; 303};
305 304
306static int bt866_found_proc(struct i2c_adapter *adapter, 305static int bt866_found_proc(struct i2c_adapter *adapter,
diff --git a/drivers/media/video/saa7134/saa7134-cards.c b/drivers/media/video/saa7134/saa7134-cards.c
index c6eb1e37a46e..98c1b084a716 100644
--- a/drivers/media/video/saa7134/saa7134-cards.c
+++ b/drivers/media/video/saa7134/saa7134-cards.c
@@ -3221,6 +3221,7 @@ struct saa7134_board saa7134_boards[] = {
3221 .radio_type = UNSET, 3221 .radio_type = UNSET,
3222 .tuner_addr = ADDR_UNSET, 3222 .tuner_addr = ADDR_UNSET,
3223 .radio_addr = ADDR_UNSET, 3223 .radio_addr = ADDR_UNSET,
3224 .tuner_config = 1,
3224 .mpeg = SAA7134_MPEG_DVB, 3225 .mpeg = SAA7134_MPEG_DVB,
3225 .inputs = {{ 3226 .inputs = {{
3226 .name = name_tv, 3227 .name = name_tv,
diff --git a/drivers/media/video/videobuf-core.c b/drivers/media/video/videobuf-core.c
index 81f77d2b4bd3..c8a5cb57963b 100644
--- a/drivers/media/video/videobuf-core.c
+++ b/drivers/media/video/videobuf-core.c
@@ -909,7 +909,7 @@ ssize_t videobuf_read_stream(struct videobuf_queue *q,
909 if (q->streaming) 909 if (q->streaming)
910 goto done; 910 goto done;
911 if (!q->reading) { 911 if (!q->reading) {
912 retval = videobuf_read_start(q); 912 retval = __videobuf_read_start(q);
913 if (retval < 0) 913 if (retval < 0)
914 goto done; 914 goto done;
915 } 915 }
@@ -982,7 +982,7 @@ unsigned int videobuf_poll_stream(struct file *file,
982 struct videobuf_buffer, stream); 982 struct videobuf_buffer, stream);
983 } else { 983 } else {
984 if (!q->reading) 984 if (!q->reading)
985 videobuf_read_start(q); 985 __videobuf_read_start(q);
986 if (!q->reading) { 986 if (!q->reading) {
987 rc = POLLERR; 987 rc = POLLERR;
988 } else if (NULL == q->read_buf) { 988 } else if (NULL == q->read_buf) {