aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/dvb')
-rw-r--r--drivers/media/dvb/bt8xx/dst.c2
-rw-r--r--drivers/media/dvb/dvb-usb/dvb-usb-dvb.c2
-rw-r--r--drivers/media/dvb/dvb-usb/dvb-usb-init.c6
-rw-r--r--drivers/media/dvb/dvb-usb/vp7045.c4
-rw-r--r--drivers/media/dvb/frontends/lgdt3302.c64
-rw-r--r--drivers/media/dvb/ttpci/budget-av.c2
-rw-r--r--drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c2
7 files changed, 40 insertions, 42 deletions
diff --git a/drivers/media/dvb/bt8xx/dst.c b/drivers/media/dvb/bt8xx/dst.c
index 9bd12832e3d9..07a0b0a968a6 100644
--- a/drivers/media/dvb/bt8xx/dst.c
+++ b/drivers/media/dvb/bt8xx/dst.c
@@ -928,7 +928,7 @@ static int dst_get_signal(struct dst_state* state)
928{ 928{
929 int retval; 929 int retval;
930 u8 get_signal[] = { 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfb }; 930 u8 get_signal[] = { 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfb };
931 printk("%s: Getting Signal strength and other parameters !!!!!!!!\n", __FUNCTION__); 931 dprintk("%s: Getting Signal strength and other parameters\n", __FUNCTION__);
932 if ((state->diseq_flags & ATTEMPT_TUNE) == 0) { 932 if ((state->diseq_flags & ATTEMPT_TUNE) == 0) {
933 state->decode_lock = state->decode_strength = state->decode_snr = 0; 933 state->decode_lock = state->decode_strength = state->decode_snr = 0;
934 return 0; 934 return 0;
diff --git a/drivers/media/dvb/dvb-usb/dvb-usb-dvb.c b/drivers/media/dvb/dvb-usb/dvb-usb-dvb.c
index bdd72f779707..3491ff40885c 100644
--- a/drivers/media/dvb/dvb-usb/dvb-usb-dvb.c
+++ b/drivers/media/dvb/dvb-usb/dvb-usb-dvb.c
@@ -175,7 +175,7 @@ static int dvb_usb_fe_sleep(struct dvb_frontend *fe)
175int dvb_usb_fe_init(struct dvb_usb_device* d) 175int dvb_usb_fe_init(struct dvb_usb_device* d)
176{ 176{
177 if (d->props.frontend_attach == NULL) { 177 if (d->props.frontend_attach == NULL) {
178 err("strange '%s' don't want to attach a frontend.",d->desc->name); 178 err("strange '%s' doesn't want to attach a frontend.",d->desc->name);
179 return 0; 179 return 0;
180 } 180 }
181 181
diff --git a/drivers/media/dvb/dvb-usb/dvb-usb-init.c b/drivers/media/dvb/dvb-usb/dvb-usb-init.c
index c3b3ae4f3ec7..65f0c095abc9 100644
--- a/drivers/media/dvb/dvb-usb/dvb-usb-init.c
+++ b/drivers/media/dvb/dvb-usb/dvb-usb-init.c
@@ -51,17 +51,17 @@ static int dvb_usb_init(struct dvb_usb_device *d)
51 51
52/* speed - when running at FULL speed we need a HW PID filter */ 52/* speed - when running at FULL speed we need a HW PID filter */
53 if (d->udev->speed == USB_SPEED_FULL && !(d->props.caps & DVB_USB_HAS_PID_FILTER)) { 53 if (d->udev->speed == USB_SPEED_FULL && !(d->props.caps & DVB_USB_HAS_PID_FILTER)) {
54 err("This USB2.0 device cannot be run on a USB1.1 port. (it lacks a HW PID filter)"); 54 err("This USB2.0 device cannot be run on a USB1.1 port. (it lacks a hardware PID filter)");
55 return -ENODEV; 55 return -ENODEV;
56 } 56 }
57 57
58 if ((d->udev->speed == USB_SPEED_FULL && d->props.caps & DVB_USB_HAS_PID_FILTER) || 58 if ((d->udev->speed == USB_SPEED_FULL && d->props.caps & DVB_USB_HAS_PID_FILTER) ||
59 (d->props.caps & DVB_USB_NEED_PID_FILTERING)) { 59 (d->props.caps & DVB_USB_NEED_PID_FILTERING)) {
60 info("will use the device's hw PID filter."); 60 info("will use the device's hardware PID filter (table count: %d).",d->props.pid_filter_count);
61 d->pid_filtering = 1; 61 d->pid_filtering = 1;
62 d->max_feed_count = d->props.pid_filter_count; 62 d->max_feed_count = d->props.pid_filter_count;
63 } else { 63 } else {
64 info("will pass the complete MPEG2 transport stream to the demuxer."); 64 info("will pass the complete MPEG2 transport stream to the software demuxer.");
65 d->pid_filtering = 0; 65 d->pid_filtering = 0;
66 d->max_feed_count = 255; 66 d->max_feed_count = 255;
67 } 67 }
diff --git a/drivers/media/dvb/dvb-usb/vp7045.c b/drivers/media/dvb/dvb-usb/vp7045.c
index 5adc5d69ec84..9ac95f54f9fc 100644
--- a/drivers/media/dvb/dvb-usb/vp7045.c
+++ b/drivers/media/dvb/dvb-usb/vp7045.c
@@ -128,7 +128,7 @@ static struct dvb_usb_rc_key vp7045_rc_keys[] = {
128 { 0x00, 0x0f, KEY_TEXT } /* Teletext */ 128 { 0x00, 0x0f, KEY_TEXT } /* Teletext */
129}; 129};
130 130
131static int vp7045_rc_query(struct dvb_usb_device *d, u32 *key_buf, int *state) 131static int vp7045_rc_query(struct dvb_usb_device *d, u32 *event, int *state)
132{ 132{
133 u8 key; 133 u8 key;
134 int i; 134 int i;
@@ -144,7 +144,7 @@ static int vp7045_rc_query(struct dvb_usb_device *d, u32 *key_buf, int *state)
144 for (i = 0; i < sizeof(vp7045_rc_keys)/sizeof(struct dvb_usb_rc_key); i++) 144 for (i = 0; i < sizeof(vp7045_rc_keys)/sizeof(struct dvb_usb_rc_key); i++)
145 if (vp7045_rc_keys[i].data == key) { 145 if (vp7045_rc_keys[i].data == key) {
146 *state = REMOTE_KEY_PRESSED; 146 *state = REMOTE_KEY_PRESSED;
147 *key_buf = vp7045_rc_keys[i].event; 147 *event = vp7045_rc_keys[i].event;
148 break; 148 break;
149 } 149 }
150 return 0; 150 return 0;
diff --git a/drivers/media/dvb/frontends/lgdt3302.c b/drivers/media/dvb/frontends/lgdt3302.c
index 09c914256e49..2eea03d218cd 100644
--- a/drivers/media/dvb/frontends/lgdt3302.c
+++ b/drivers/media/dvb/frontends/lgdt3302.c
@@ -1,6 +1,4 @@
1/* 1/*
2 * $Id: lgdt3302.c,v 1.5 2005/07/07 03:47:15 mkrufky Exp $
3 *
4 * Support for LGDT3302 (DViCO FustionHDTV 3 Gold) - VSB/QAM 2 * Support for LGDT3302 (DViCO FustionHDTV 3 Gold) - VSB/QAM
5 * 3 *
6 * Copyright (C) 2005 Wilson Michaels <wilsonmichaels@earthlink.net> 4 * Copyright (C) 2005 Wilson Michaels <wilsonmichaels@earthlink.net>
@@ -83,7 +81,10 @@ static int i2c_writebytes (struct lgdt3302_state* state,
83 81
84 if ((err = i2c_transfer(state->i2c, &msg, 1)) != 1) { 82 if ((err = i2c_transfer(state->i2c, &msg, 1)) != 1) {
85 printk(KERN_WARNING "lgdt3302: %s error (addr %02x <- %02x, err == %i)\n", __FUNCTION__, addr, buf[0], err); 83 printk(KERN_WARNING "lgdt3302: %s error (addr %02x <- %02x, err == %i)\n", __FUNCTION__, addr, buf[0], err);
86 return -EREMOTEIO; 84 if (err < 0)
85 return err;
86 else
87 return -EREMOTEIO;
87 } 88 }
88 } else { 89 } else {
89 u8 tmp[] = { buf[0], buf[1] }; 90 u8 tmp[] = { buf[0], buf[1] };
@@ -96,7 +97,10 @@ static int i2c_writebytes (struct lgdt3302_state* state,
96 tmp[1] = buf[i]; 97 tmp[1] = buf[i];
97 if ((err = i2c_transfer(state->i2c, &msg, 1)) != 1) { 98 if ((err = i2c_transfer(state->i2c, &msg, 1)) != 1) {
98 printk(KERN_WARNING "lgdt3302: %s error (addr %02x <- %02x, err == %i)\n", __FUNCTION__, addr, buf[0], err); 99 printk(KERN_WARNING "lgdt3302: %s error (addr %02x <- %02x, err == %i)\n", __FUNCTION__, addr, buf[0], err);
99 return -EREMOTEIO; 100 if (err < 0)
101 return err;
102 else
103 return -EREMOTEIO;
100 } 104 }
101 tmp[0]++; 105 tmp[0]++;
102 } 106 }
@@ -218,6 +222,8 @@ static int lgdt3302_set_parameters(struct dvb_frontend* fe,
218 222
219 /* Change only if we are actually changing the modulation */ 223 /* Change only if we are actually changing the modulation */
220 if (state->current_modulation != param->u.vsb.modulation) { 224 if (state->current_modulation != param->u.vsb.modulation) {
225 int value;
226
221 switch(param->u.vsb.modulation) { 227 switch(param->u.vsb.modulation) {
222 case VSB_8: 228 case VSB_8:
223 dprintk("%s: VSB_8 MODE\n", __FUNCTION__); 229 dprintk("%s: VSB_8 MODE\n", __FUNCTION__);
@@ -266,36 +272,29 @@ static int lgdt3302_set_parameters(struct dvb_frontend* fe,
266 i2c_writebytes(state, state->config->demod_address, 272 i2c_writebytes(state, state->config->demod_address,
267 demux_ctrl_cfg, sizeof(demux_ctrl_cfg)); 273 demux_ctrl_cfg, sizeof(demux_ctrl_cfg));
268 274
269 if (param->u.vsb.modulation == VSB_8) { 275 /* Change the value of NCOCTFV[25:0] of carrier
270 /* Initialization for VSB modes only */ 276 recovery center frequency register */
271 /* Change the value of NCOCTFV[25:0]of carrier 277 i2c_writebytes(state, state->config->demod_address,
272 recovery center frequency register for VSB */
273 i2c_writebytes(state, state->config->demod_address,
274 vsb_freq_cfg, sizeof(vsb_freq_cfg)); 278 vsb_freq_cfg, sizeof(vsb_freq_cfg));
275 } else { 279 /* Set the value of 'INLVTHD' register 0x2a/0x2c
276 /* Initialization for QAM modes only */ 280 to value from 'IFACC' register 0x39/0x3b -1 */
277 /* Set the value of 'INLVTHD' register 0x2a/0x2c 281 i2c_selectreadbytes(state, AGC_RFIF_ACC0,
278 to value from 'IFACC' register 0x39/0x3b -1 */ 282 &agc_delay_cfg[1], 3);
279 int value; 283 value = ((agc_delay_cfg[1] & 0x0f) << 8) | agc_delay_cfg[3];
280 i2c_selectreadbytes(state, AGC_RFIF_ACC0, 284 value = value -1;
281 &agc_delay_cfg[1], 3); 285 dprintk("%s IFACC -1 = 0x%03x\n", __FUNCTION__, value);
282 value = ((agc_delay_cfg[1] & 0x0f) << 8) | agc_delay_cfg[3]; 286 agc_delay_cfg[1] = (value >> 8) & 0x0f;
283 value = value -1; 287 agc_delay_cfg[2] = 0x00;
284 dprintk("%s IFACC -1 = 0x%03x\n", __FUNCTION__, value); 288 agc_delay_cfg[3] = value & 0xff;
285 agc_delay_cfg[1] = (value >> 8) & 0x0f; 289 i2c_writebytes(state, state->config->demod_address,
286 agc_delay_cfg[2] = 0x00; 290 agc_delay_cfg, sizeof(agc_delay_cfg));
287 agc_delay_cfg[3] = value & 0xff; 291
288 i2c_writebytes(state, state->config->demod_address, 292 /* Change the value of IAGCBW[15:8]
289 agc_delay_cfg, sizeof(agc_delay_cfg)); 293 of inner AGC loop filter bandwith */
290 294 i2c_writebytes(state, state->config->demod_address,
291 /* Change the value of IAGCBW[15:8] 295 agc_loop_cfg, sizeof(agc_loop_cfg));
292 of inner AGC loop filter bandwith */
293 i2c_writebytes(state, state->config->demod_address,
294 agc_loop_cfg, sizeof(agc_loop_cfg));
295 }
296 296
297 state->config->set_ts_params(fe, 0); 297 state->config->set_ts_params(fe, 0);
298 lgdt3302_SwReset(state);
299 state->current_modulation = param->u.vsb.modulation; 298 state->current_modulation = param->u.vsb.modulation;
300 } 299 }
301 300
@@ -311,11 +310,10 @@ static int lgdt3302_set_parameters(struct dvb_frontend* fe,
311 i2c_readbytes(state, state->config->pll_address, buf, 1); 310 i2c_readbytes(state, state->config->pll_address, buf, 1);
312 dprintk("%s: tuner status byte = 0x%02x\n", __FUNCTION__, buf[0]); 311 dprintk("%s: tuner status byte = 0x%02x\n", __FUNCTION__, buf[0]);
313 312
314 lgdt3302_SwReset(state);
315
316 /* Update current frequency */ 313 /* Update current frequency */
317 state->current_frequency = param->frequency; 314 state->current_frequency = param->frequency;
318 } 315 }
316 lgdt3302_SwReset(state);
319 return 0; 317 return 0;
320} 318}
321 319
diff --git a/drivers/media/dvb/ttpci/budget-av.c b/drivers/media/dvb/ttpci/budget-av.c
index b65f4b0a481f..9746d2bb916f 100644
--- a/drivers/media/dvb/ttpci/budget-av.c
+++ b/drivers/media/dvb/ttpci/budget-av.c
@@ -1022,7 +1022,7 @@ static struct pci_device_id pci_tbl[] = {
1022MODULE_DEVICE_TABLE(pci, pci_tbl); 1022MODULE_DEVICE_TABLE(pci, pci_tbl);
1023 1023
1024static struct saa7146_extension budget_extension = { 1024static struct saa7146_extension budget_extension = {
1025 .name = "budget dvb /w video in\0", 1025 .name = "budget_av",
1026 .pci_tbl = pci_tbl, 1026 .pci_tbl = pci_tbl,
1027 1027
1028 .module = THIS_MODULE, 1028 .module = THIS_MODULE,
diff --git a/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c b/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c
index 2c17a5f58340..aa43b5fcb8e7 100644
--- a/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c
+++ b/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c
@@ -1626,7 +1626,7 @@ static struct usb_device_id ttusb_table[] = {
1626MODULE_DEVICE_TABLE(usb, ttusb_table); 1626MODULE_DEVICE_TABLE(usb, ttusb_table);
1627 1627
1628static struct usb_driver ttusb_driver = { 1628static struct usb_driver ttusb_driver = {
1629 .name = "Technotrend/Hauppauge USB-Nova", 1629 .name = "ttusb",
1630 .probe = ttusb_probe, 1630 .probe = ttusb_probe,
1631 .disconnect = ttusb_disconnect, 1631 .disconnect = ttusb_disconnect,
1632 .id_table = ttusb_table, 1632 .id_table = ttusb_table,