aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorMichael Krufky <mkrufky@m1k.net>2005-07-27 14:46:00 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2005-07-27 19:26:17 -0400
commit6ddcc9197beef7cba993c38cdcad45aefb557d33 (patch)
tree85c5f8a20c4c14e2ce6f8ad5b4e17b0f1500e22c /drivers
parent9d2599d98e9cb511f326b2d1b353e462bc360774 (diff)
[PATCH] dvb: rename lgdt3302 frontend module to lgdt330x
Rename lgdt3302 to lgdt330x, to make way for the addition of lgdt3303 support in future revisions. I am changing the name of this module now so that hopefully the name will be changed before the release of 2.6.13 ... It wouldn't make sense to release 2.6.13 with the name lgdt3302 in it, which will only be renamed to lgdt330x in later versions. Signed-off-by: Michael Krufky <mkrufky@m1k.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/media/dvb/frontends/Kconfig4
-rw-r--r--drivers/media/dvb/frontends/Makefile2
-rw-r--r--drivers/media/dvb/frontends/lgdt330x.c (renamed from drivers/media/dvb/frontends/lgdt3302.c)123
-rw-r--r--drivers/media/dvb/frontends/lgdt330x.h (renamed from drivers/media/dvb/frontends/lgdt3302.h)12
-rw-r--r--drivers/media/dvb/frontends/lgdt330x_priv.h (renamed from drivers/media/dvb/frontends/lgdt3302_priv.h)10
-rw-r--r--drivers/media/video/Kconfig2
-rw-r--r--drivers/media/video/cx88/Makefile4
-rw-r--r--drivers/media/video/cx88/cx88-dvb.c29
-rw-r--r--drivers/media/video/cx88/cx88-i2c.c4
9 files changed, 93 insertions, 97 deletions
diff --git a/drivers/media/dvb/frontends/Kconfig b/drivers/media/dvb/frontends/Kconfig
index d847c62bd837..e83256d0fd14 100644
--- a/drivers/media/dvb/frontends/Kconfig
+++ b/drivers/media/dvb/frontends/Kconfig
@@ -187,8 +187,8 @@ config DVB_BCM3510
187 An ATSC 8VSB/16VSB and QAM64/256 tuner module. Say Y when you want to 187 An ATSC 8VSB/16VSB and QAM64/256 tuner module. Say Y when you want to
188 support this frontend. 188 support this frontend.
189 189
190config DVB_LGDT3302 190config DVB_LGDT330X
191 tristate "LGDT3302 based (DViCO FusionHDTV3 Gold)" 191 tristate "LGDT3302 or LGDT3303 based (DViCO FusionHDTV Gold)"
192 depends on DVB_CORE 192 depends on DVB_CORE
193 help 193 help
194 An ATSC 8VSB and QAM64/256 tuner module. Say Y when you want 194 An ATSC 8VSB and QAM64/256 tuner module. Say Y when you want
diff --git a/drivers/media/dvb/frontends/Makefile b/drivers/media/dvb/frontends/Makefile
index de5e240cba7f..ad8658ffd60a 100644
--- a/drivers/media/dvb/frontends/Makefile
+++ b/drivers/media/dvb/frontends/Makefile
@@ -30,4 +30,4 @@ obj-$(CONFIG_DVB_OR51211) += or51211.o
30obj-$(CONFIG_DVB_OR51132) += or51132.o 30obj-$(CONFIG_DVB_OR51132) += or51132.o
31obj-$(CONFIG_DVB_BCM3510) += bcm3510.o 31obj-$(CONFIG_DVB_BCM3510) += bcm3510.o
32obj-$(CONFIG_DVB_S5H1420) += s5h1420.o 32obj-$(CONFIG_DVB_S5H1420) += s5h1420.o
33obj-$(CONFIG_DVB_LGDT3302) += lgdt3302.o 33obj-$(CONFIG_DVB_LGDT330X) += lgdt330x.o
diff --git a/drivers/media/dvb/frontends/lgdt3302.c b/drivers/media/dvb/frontends/lgdt330x.c
index c3b8d4e080bb..e94dee50eecd 100644
--- a/drivers/media/dvb/frontends/lgdt3302.c
+++ b/drivers/media/dvb/frontends/lgdt330x.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * Support for LGDT3302 (DViCO FustionHDTV 3 Gold) - VSB/QAM 2 * Support for LGDT3302 & LGDT3303 (DViCO FusionHDTV Gold) - VSB/QAM
3 * 3 *
4 * Copyright (C) 2005 Wilson Michaels <wilsonmichaels@earthlink.net> 4 * Copyright (C) 2005 Wilson Michaels <wilsonmichaels@earthlink.net>
5 * 5 *
@@ -25,10 +25,11 @@
25/* 25/*
26 * NOTES ABOUT THIS DRIVER 26 * NOTES ABOUT THIS DRIVER
27 * 27 *
28 * This driver supports DViCO FusionHDTV 3 Gold under Linux. 28 * This driver supports DViCO FusionHDTV Gold under Linux.
29 * 29 *
30 * TODO: 30 * TODO:
31 * BER and signal strength always return 0. 31 * BER and signal strength always return 0.
32 * Include support for LGDT3303
32 * 33 *
33 */ 34 */
34 35
@@ -41,24 +42,24 @@
41 42
42#include "dvb_frontend.h" 43#include "dvb_frontend.h"
43#include "dvb-pll.h" 44#include "dvb-pll.h"
44#include "lgdt3302_priv.h" 45#include "lgdt330x_priv.h"
45#include "lgdt3302.h" 46#include "lgdt330x.h"
46 47
47static int debug = 0; 48static int debug = 0;
48module_param(debug, int, 0644); 49module_param(debug, int, 0644);
49MODULE_PARM_DESC(debug,"Turn on/off lgdt3302 frontend debugging (default:off)."); 50MODULE_PARM_DESC(debug,"Turn on/off lgdt330x frontend debugging (default:off).");
50#define dprintk(args...) \ 51#define dprintk(args...) \
51do { \ 52do { \
52if (debug) printk(KERN_DEBUG "lgdt3302: " args); \ 53if (debug) printk(KERN_DEBUG "lgdt330x: " args); \
53} while (0) 54} while (0)
54 55
55struct lgdt3302_state 56struct lgdt330x_state
56{ 57{
57 struct i2c_adapter* i2c; 58 struct i2c_adapter* i2c;
58 struct dvb_frontend_ops ops; 59 struct dvb_frontend_ops ops;
59 60
60 /* Configuration settings */ 61 /* Configuration settings */
61 const struct lgdt3302_config* config; 62 const struct lgdt330x_config* config;
62 63
63 struct dvb_frontend frontend; 64 struct dvb_frontend frontend;
64 65
@@ -69,7 +70,7 @@ struct lgdt3302_state
69 u32 current_frequency; 70 u32 current_frequency;
70}; 71};
71 72
72static int i2c_writebytes (struct lgdt3302_state* state, 73static int i2c_writebytes (struct lgdt330x_state* state,
73 u8 addr, /* demod_address or pll_address */ 74 u8 addr, /* demod_address or pll_address */
74 u8 *buf, /* data bytes to send */ 75 u8 *buf, /* data bytes to send */
75 int len /* number of bytes to send */ ) 76 int len /* number of bytes to send */ )
@@ -83,7 +84,7 @@ static int i2c_writebytes (struct lgdt3302_state* state,
83 for (i=1; i<len; i++) { 84 for (i=1; i<len; i++) {
84 tmp[1] = buf[i]; 85 tmp[1] = buf[i];
85 if ((err = i2c_transfer(state->i2c, &msg, 1)) != 1) { 86 if ((err = i2c_transfer(state->i2c, &msg, 1)) != 1) {
86 printk(KERN_WARNING "lgdt3302: %s error (addr %02x <- %02x, err == %i)\n", __FUNCTION__, addr, buf[0], err); 87 printk(KERN_WARNING "lgdt330x: %s error (addr %02x <- %02x, err == %i)\n", __FUNCTION__, addr, buf[0], err);
87 if (err < 0) 88 if (err < 0)
88 return err; 89 return err;
89 else 90 else
@@ -95,7 +96,7 @@ static int i2c_writebytes (struct lgdt3302_state* state,
95} 96}
96 97
97#if 0 98#if 0
98static int i2c_readbytes (struct lgdt3302_state* state, 99static int i2c_readbytes (struct lgdt330x_state* state,
99 u8 addr, /* demod_address or pll_address */ 100 u8 addr, /* demod_address or pll_address */
100 u8 *buf, /* holds data bytes read */ 101 u8 *buf, /* holds data bytes read */
101 int len /* number of bytes to read */ ) 102 int len /* number of bytes to read */ )
@@ -105,7 +106,7 @@ static int i2c_readbytes (struct lgdt3302_state* state,
105 int err; 106 int err;
106 107
107 if ((err = i2c_transfer(state->i2c, &msg, 1)) != 1) { 108 if ((err = i2c_transfer(state->i2c, &msg, 1)) != 1) {
108 printk(KERN_WARNING "lgdt3302: %s error (addr %02x, err == %i)\n", __FUNCTION__, addr, err); 109 printk(KERN_WARNING "lgdt330x: %s error (addr %02x, err == %i)\n", __FUNCTION__, addr, err);
109 return -EREMOTEIO; 110 return -EREMOTEIO;
110 } 111 }
111 return 0; 112 return 0;
@@ -117,7 +118,7 @@ static int i2c_readbytes (struct lgdt3302_state* state,
117 * then reads the data returned for (len) bytes. 118 * then reads the data returned for (len) bytes.
118 */ 119 */
119 120
120static u8 i2c_selectreadbytes (struct lgdt3302_state* state, 121static u8 i2c_selectreadbytes (struct lgdt330x_state* state,
121 enum I2C_REG reg, u8* buf, int len) 122 enum I2C_REG reg, u8* buf, int len)
122{ 123{
123 u8 wr [] = { reg }; 124 u8 wr [] = { reg };
@@ -130,7 +131,7 @@ static u8 i2c_selectreadbytes (struct lgdt3302_state* state,
130 int ret; 131 int ret;
131 ret = i2c_transfer(state->i2c, msg, 2); 132 ret = i2c_transfer(state->i2c, msg, 2);
132 if (ret != 2) { 133 if (ret != 2) {
133 printk(KERN_WARNING "lgdt3302: %s: addr 0x%02x select 0x%02x error (ret == %i)\n", __FUNCTION__, state->config->demod_address, reg, ret); 134 printk(KERN_WARNING "lgdt330x: %s: addr 0x%02x select 0x%02x error (ret == %i)\n", __FUNCTION__, state->config->demod_address, reg, ret);
134 } else { 135 } else {
135 ret = 0; 136 ret = 0;
136 } 137 }
@@ -138,7 +139,7 @@ static u8 i2c_selectreadbytes (struct lgdt3302_state* state,
138} 139}
139 140
140/* Software reset */ 141/* Software reset */
141int lgdt3302_SwReset(struct lgdt3302_state* state) 142int lgdt330x_SwReset(struct lgdt330x_state* state)
142{ 143{
143 u8 ret; 144 u8 ret;
144 u8 reset[] = { 145 u8 reset[] = {
@@ -164,7 +165,7 @@ int lgdt3302_SwReset(struct lgdt3302_state* state)
164 return ret; 165 return ret;
165} 166}
166 167
167static int lgdt3302_init(struct dvb_frontend* fe) 168static int lgdt330x_init(struct dvb_frontend* fe)
168{ 169{
169 /* Hardware reset is done using gpio[0] of cx23880x chip. 170 /* Hardware reset is done using gpio[0] of cx23880x chip.
170 * I'd like to do it here, but don't know how to find chip address. 171 * I'd like to do it here, but don't know how to find chip address.
@@ -173,18 +174,18 @@ static int lgdt3302_init(struct dvb_frontend* fe)
173 * the caller of this function needs to do it. */ 174 * the caller of this function needs to do it. */
174 175
175 dprintk("%s entered\n", __FUNCTION__); 176 dprintk("%s entered\n", __FUNCTION__);
176 return lgdt3302_SwReset((struct lgdt3302_state*) fe->demodulator_priv); 177 return lgdt330x_SwReset((struct lgdt330x_state*) fe->demodulator_priv);
177} 178}
178 179
179static int lgdt3302_read_ber(struct dvb_frontend* fe, u32* ber) 180static int lgdt330x_read_ber(struct dvb_frontend* fe, u32* ber)
180{ 181{
181 *ber = 0; /* Dummy out for now */ 182 *ber = 0; /* Dummy out for now */
182 return 0; 183 return 0;
183} 184}
184 185
185static int lgdt3302_read_ucblocks(struct dvb_frontend* fe, u32* ucblocks) 186static int lgdt330x_read_ucblocks(struct dvb_frontend* fe, u32* ucblocks)
186{ 187{
187 struct lgdt3302_state* state = (struct lgdt3302_state*) fe->demodulator_priv; 188 struct lgdt330x_state* state = (struct lgdt330x_state*) fe->demodulator_priv;
188 u8 buf[2]; 189 u8 buf[2];
189 190
190 i2c_selectreadbytes(state, PACKET_ERR_COUNTER1, buf, sizeof(buf)); 191 i2c_selectreadbytes(state, PACKET_ERR_COUNTER1, buf, sizeof(buf));
@@ -193,11 +194,11 @@ static int lgdt3302_read_ucblocks(struct dvb_frontend* fe, u32* ucblocks)
193 return 0; 194 return 0;
194} 195}
195 196
196static int lgdt3302_set_parameters(struct dvb_frontend* fe, 197static int lgdt330x_set_parameters(struct dvb_frontend* fe,
197 struct dvb_frontend_parameters *param) 198 struct dvb_frontend_parameters *param)
198{ 199{
199 struct lgdt3302_state* state = 200 struct lgdt330x_state* state =
200 (struct lgdt3302_state*) fe->demodulator_priv; 201 (struct lgdt330x_state*) fe->demodulator_priv;
201 202
202 /* Use 50MHz parameter values from spec sheet since xtal is 50 */ 203 /* Use 50MHz parameter values from spec sheet since xtal is 50 */
203 static u8 top_ctrl_cfg[] = { TOP_CONTROL, 0x03 }; 204 static u8 top_ctrl_cfg[] = { TOP_CONTROL, 0x03 };
@@ -244,7 +245,7 @@ static int lgdt3302_set_parameters(struct dvb_frontend* fe,
244 state->config->pll_rf_set(fe, 0); 245 state->config->pll_rf_set(fe, 0);
245 break; 246 break;
246 default: 247 default:
247 printk(KERN_WARNING "lgdt3302: %s: Modulation type(%d) UNSUPPORTED\n", __FUNCTION__, param->u.vsb.modulation); 248 printk(KERN_WARNING "lgdt330x: %s: Modulation type(%d) UNSUPPORTED\n", __FUNCTION__, param->u.vsb.modulation);
248 return -1; 249 return -1;
249 } 250 }
250 /* Initializations common to all modes */ 251 /* Initializations common to all modes */
@@ -291,19 +292,17 @@ static int lgdt3302_set_parameters(struct dvb_frontend* fe,
291 /* Change only if we are actually changing the channel */ 292 /* Change only if we are actually changing the channel */
292 if (state->current_frequency != param->frequency) { 293 if (state->current_frequency != param->frequency) {
293 u8 buf[5]; 294 u8 buf[5];
295 struct i2c_msg msg = { .flags = 0, .buf = &buf[1], .len = 4 };
296 int err;
294 297
295 /* This must be done before the initialized msg is declared */
296 state->config->pll_set(fe, param, buf); 298 state->config->pll_set(fe, param, buf);
297 299 msg.addr = buf[0];
298 struct i2c_msg msg =
299 { .addr = buf[0], .flags = 0, .buf = &buf[1], .len = 4 };
300 int err;
301 300
302 dprintk("%s: tuner at 0x%02x bytes: 0x%02x 0x%02x " 301 dprintk("%s: tuner at 0x%02x bytes: 0x%02x 0x%02x "
303 "0x%02x 0x%02x\n", __FUNCTION__, 302 "0x%02x 0x%02x\n", __FUNCTION__,
304 buf[0],buf[1],buf[2],buf[3],buf[4]); 303 buf[0],buf[1],buf[2],buf[3],buf[4]);
305 if ((err = i2c_transfer(state->i2c, &msg, 1)) != 1) { 304 if ((err = i2c_transfer(state->i2c, &msg, 1)) != 1) {
306 printk(KERN_WARNING "lgdt3302: %s error (addr %02x <- %02x, err = %i)\n", __FUNCTION__, buf[0], buf[1], err); 305 printk(KERN_WARNING "lgdt330x: %s error (addr %02x <- %02x, err = %i)\n", __FUNCTION__, buf[0], buf[1], err);
307 if (err < 0) 306 if (err < 0)
308 return err; 307 return err;
309 else 308 else
@@ -317,21 +316,21 @@ static int lgdt3302_set_parameters(struct dvb_frontend* fe,
317 /* Update current frequency */ 316 /* Update current frequency */
318 state->current_frequency = param->frequency; 317 state->current_frequency = param->frequency;
319 } 318 }
320 lgdt3302_SwReset(state); 319 lgdt330x_SwReset(state);
321 return 0; 320 return 0;
322} 321}
323 322
324static int lgdt3302_get_frontend(struct dvb_frontend* fe, 323static int lgdt330x_get_frontend(struct dvb_frontend* fe,
325 struct dvb_frontend_parameters* param) 324 struct dvb_frontend_parameters* param)
326{ 325{
327 struct lgdt3302_state *state = fe->demodulator_priv; 326 struct lgdt330x_state *state = fe->demodulator_priv;
328 param->frequency = state->current_frequency; 327 param->frequency = state->current_frequency;
329 return 0; 328 return 0;
330} 329}
331 330
332static int lgdt3302_read_status(struct dvb_frontend* fe, fe_status_t* status) 331static int lgdt330x_read_status(struct dvb_frontend* fe, fe_status_t* status)
333{ 332{
334 struct lgdt3302_state* state = (struct lgdt3302_state*) fe->demodulator_priv; 333 struct lgdt330x_state* state = (struct lgdt330x_state*) fe->demodulator_priv;
335 u8 buf[3]; 334 u8 buf[3];
336 335
337 *status = 0; /* Reset status result */ 336 *status = 0; /* Reset status result */
@@ -391,19 +390,19 @@ static int lgdt3302_read_status(struct dvb_frontend* fe, fe_status_t* status)
391 *status |= FE_HAS_CARRIER; 390 *status |= FE_HAS_CARRIER;
392 break; 391 break;
393 default: 392 default:
394 printk("KERN_WARNING lgdt3302: %s: Modulation set to unsupported value\n", __FUNCTION__); 393 printk("KERN_WARNING lgdt330x: %s: Modulation set to unsupported value\n", __FUNCTION__);
395 } 394 }
396 395
397 return 0; 396 return 0;
398} 397}
399 398
400static int lgdt3302_read_signal_strength(struct dvb_frontend* fe, u16* strength) 399static int lgdt330x_read_signal_strength(struct dvb_frontend* fe, u16* strength)
401{ 400{
402 /* not directly available. */ 401 /* not directly available. */
403 return 0; 402 return 0;
404} 403}
405 404
406static int lgdt3302_read_snr(struct dvb_frontend* fe, u16* snr) 405static int lgdt330x_read_snr(struct dvb_frontend* fe, u16* snr)
407{ 406{
408#ifdef SNR_IN_DB 407#ifdef SNR_IN_DB
409 /* 408 /*
@@ -458,7 +457,7 @@ static int lgdt3302_read_snr(struct dvb_frontend* fe, u16* snr)
458 static u8 buf[5];/* read data buffer */ 457 static u8 buf[5];/* read data buffer */
459 static u32 noise; /* noise value */ 458 static u32 noise; /* noise value */
460 static u32 snr_db; /* index into SNR_EQ[] */ 459 static u32 snr_db; /* index into SNR_EQ[] */
461 struct lgdt3302_state* state = (struct lgdt3302_state*) fe->demodulator_priv; 460 struct lgdt330x_state* state = (struct lgdt330x_state*) fe->demodulator_priv;
462 461
463 /* read both equalizer and pase tracker noise data */ 462 /* read both equalizer and pase tracker noise data */
464 i2c_selectreadbytes(state, EQPH_ERR0, buf, sizeof(buf)); 463 i2c_selectreadbytes(state, EQPH_ERR0, buf, sizeof(buf));
@@ -494,7 +493,7 @@ static int lgdt3302_read_snr(struct dvb_frontend* fe, u16* snr)
494 /* Return the raw noise value */ 493 /* Return the raw noise value */
495 static u8 buf[5];/* read data buffer */ 494 static u8 buf[5];/* read data buffer */
496 static u32 noise; /* noise value */ 495 static u32 noise; /* noise value */
497 struct lgdt3302_state* state = (struct lgdt3302_state*) fe->demodulator_priv; 496 struct lgdt330x_state* state = (struct lgdt330x_state*) fe->demodulator_priv;
498 497
499 /* read both equalizer and pase tracker noise data */ 498 /* read both equalizer and pase tracker noise data */
500 i2c_selectreadbytes(state, EQPH_ERR0, buf, sizeof(buf)); 499 i2c_selectreadbytes(state, EQPH_ERR0, buf, sizeof(buf));
@@ -517,7 +516,7 @@ static int lgdt3302_read_snr(struct dvb_frontend* fe, u16* snr)
517 return 0; 516 return 0;
518} 517}
519 518
520static int lgdt3302_get_tune_settings(struct dvb_frontend* fe, struct dvb_frontend_tune_settings* fe_tune_settings) 519static int lgdt330x_get_tune_settings(struct dvb_frontend* fe, struct dvb_frontend_tune_settings* fe_tune_settings)
521{ 520{
522 /* I have no idea about this - it may not be needed */ 521 /* I have no idea about this - it may not be needed */
523 fe_tune_settings->min_delay_ms = 500; 522 fe_tune_settings->min_delay_ms = 500;
@@ -526,22 +525,22 @@ static int lgdt3302_get_tune_settings(struct dvb_frontend* fe, struct dvb_fronte
526 return 0; 525 return 0;
527} 526}
528 527
529static void lgdt3302_release(struct dvb_frontend* fe) 528static void lgdt330x_release(struct dvb_frontend* fe)
530{ 529{
531 struct lgdt3302_state* state = (struct lgdt3302_state*) fe->demodulator_priv; 530 struct lgdt330x_state* state = (struct lgdt330x_state*) fe->demodulator_priv;
532 kfree(state); 531 kfree(state);
533} 532}
534 533
535static struct dvb_frontend_ops lgdt3302_ops; 534static struct dvb_frontend_ops lgdt330x_ops;
536 535
537struct dvb_frontend* lgdt3302_attach(const struct lgdt3302_config* config, 536struct dvb_frontend* lgdt330x_attach(const struct lgdt330x_config* config,
538 struct i2c_adapter* i2c) 537 struct i2c_adapter* i2c)
539{ 538{
540 struct lgdt3302_state* state = NULL; 539 struct lgdt330x_state* state = NULL;
541 u8 buf[1]; 540 u8 buf[1];
542 541
543 /* Allocate memory for the internal state */ 542 /* Allocate memory for the internal state */
544 state = (struct lgdt3302_state*) kmalloc(sizeof(struct lgdt3302_state), GFP_KERNEL); 543 state = (struct lgdt330x_state*) kmalloc(sizeof(struct lgdt330x_state), GFP_KERNEL);
545 if (state == NULL) 544 if (state == NULL)
546 goto error; 545 goto error;
547 memset(state,0,sizeof(*state)); 546 memset(state,0,sizeof(*state));
@@ -549,7 +548,7 @@ struct dvb_frontend* lgdt3302_attach(const struct lgdt3302_config* config,
549 /* Setup the state */ 548 /* Setup the state */
550 state->config = config; 549 state->config = config;
551 state->i2c = i2c; 550 state->i2c = i2c;
552 memcpy(&state->ops, &lgdt3302_ops, sizeof(struct dvb_frontend_ops)); 551 memcpy(&state->ops, &lgdt330x_ops, sizeof(struct dvb_frontend_ops));
553 /* Verify communication with demod chip */ 552 /* Verify communication with demod chip */
554 if (i2c_selectreadbytes(state, 2, buf, 1)) 553 if (i2c_selectreadbytes(state, 2, buf, 1))
555 goto error; 554 goto error;
@@ -569,9 +568,9 @@ error:
569 return NULL; 568 return NULL;
570} 569}
571 570
572static struct dvb_frontend_ops lgdt3302_ops = { 571static struct dvb_frontend_ops lgdt330x_ops = {
573 .info = { 572 .info = {
574 .name= "LG Electronics LGDT3302 VSB/QAM Frontend", 573 .name= "LG Electronics lgdt330x VSB/QAM Frontend",
575 .type = FE_ATSC, 574 .type = FE_ATSC,
576 .frequency_min= 54000000, 575 .frequency_min= 54000000,
577 .frequency_max= 858000000, 576 .frequency_max= 858000000,
@@ -581,23 +580,23 @@ static struct dvb_frontend_ops lgdt3302_ops = {
581 .symbol_rate_max = 10762000, 580 .symbol_rate_max = 10762000,
582 .caps = FE_CAN_QAM_64 | FE_CAN_QAM_256 | FE_CAN_8VSB 581 .caps = FE_CAN_QAM_64 | FE_CAN_QAM_256 | FE_CAN_8VSB
583 }, 582 },
584 .init = lgdt3302_init, 583 .init = lgdt330x_init,
585 .set_frontend = lgdt3302_set_parameters, 584 .set_frontend = lgdt330x_set_parameters,
586 .get_frontend = lgdt3302_get_frontend, 585 .get_frontend = lgdt330x_get_frontend,
587 .get_tune_settings = lgdt3302_get_tune_settings, 586 .get_tune_settings = lgdt330x_get_tune_settings,
588 .read_status = lgdt3302_read_status, 587 .read_status = lgdt330x_read_status,
589 .read_ber = lgdt3302_read_ber, 588 .read_ber = lgdt330x_read_ber,
590 .read_signal_strength = lgdt3302_read_signal_strength, 589 .read_signal_strength = lgdt330x_read_signal_strength,
591 .read_snr = lgdt3302_read_snr, 590 .read_snr = lgdt330x_read_snr,
592 .read_ucblocks = lgdt3302_read_ucblocks, 591 .read_ucblocks = lgdt330x_read_ucblocks,
593 .release = lgdt3302_release, 592 .release = lgdt330x_release,
594}; 593};
595 594
596MODULE_DESCRIPTION("LGDT3302 [DViCO FusionHDTV 3 Gold] (ATSC 8VSB & ITU-T J.83 AnnexB 64/256 QAM) Demodulator Driver"); 595MODULE_DESCRIPTION("lgdt330x [DViCO FusionHDTV 3 Gold] (ATSC 8VSB & ITU-T J.83 AnnexB 64/256 QAM) Demodulator Driver");
597MODULE_AUTHOR("Wilson Michaels"); 596MODULE_AUTHOR("Wilson Michaels");
598MODULE_LICENSE("GPL"); 597MODULE_LICENSE("GPL");
599 598
600EXPORT_SYMBOL(lgdt3302_attach); 599EXPORT_SYMBOL(lgdt330x_attach);
601 600
602/* 601/*
603 * Local variables: 602 * Local variables:
diff --git a/drivers/media/dvb/frontends/lgdt3302.h b/drivers/media/dvb/frontends/lgdt330x.h
index 6bf6f985e080..04986f8e7565 100644
--- a/drivers/media/dvb/frontends/lgdt3302.h
+++ b/drivers/media/dvb/frontends/lgdt330x.h
@@ -1,5 +1,5 @@
1/* 1/*
2 * Support for LGDT3302 (DViCO FustionHDTV 3 Gold) - VSB/QAM 2 * Support for LGDT3302 & LGDT3303 (DViCO FustionHDTV Gold) - VSB/QAM
3 * 3 *
4 * Copyright (C) 2005 Wilson Michaels <wilsonmichaels@earthlink.net> 4 * Copyright (C) 2005 Wilson Michaels <wilsonmichaels@earthlink.net>
5 * 5 *
@@ -19,12 +19,12 @@
19 * 19 *
20 */ 20 */
21 21
22#ifndef LGDT3302_H 22#ifndef LGDT330X_H
23#define LGDT3302_H 23#define LGDT330X_H
24 24
25#include <linux/dvb/frontend.h> 25#include <linux/dvb/frontend.h>
26 26
27struct lgdt3302_config 27struct lgdt330x_config
28{ 28{
29 /* The demodulator's i2c address */ 29 /* The demodulator's i2c address */
30 u8 demod_address; 30 u8 demod_address;
@@ -37,10 +37,10 @@ struct lgdt3302_config
37 int (*set_ts_params)(struct dvb_frontend* fe, int is_punctured); 37 int (*set_ts_params)(struct dvb_frontend* fe, int is_punctured);
38}; 38};
39 39
40extern struct dvb_frontend* lgdt3302_attach(const struct lgdt3302_config* config, 40extern struct dvb_frontend* lgdt330x_attach(const struct lgdt330x_config* config,
41 struct i2c_adapter* i2c); 41 struct i2c_adapter* i2c);
42 42
43#endif /* LGDT3302_H */ 43#endif /* LGDT330X_H */
44 44
45/* 45/*
46 * Local variables: 46 * Local variables:
diff --git a/drivers/media/dvb/frontends/lgdt3302_priv.h b/drivers/media/dvb/frontends/lgdt330x_priv.h
index 6193fa7a569d..4143ce8f1a95 100644
--- a/drivers/media/dvb/frontends/lgdt3302_priv.h
+++ b/drivers/media/dvb/frontends/lgdt330x_priv.h
@@ -1,7 +1,5 @@
1/* 1/*
2 * $Id: lgdt3302_priv.h,v 1.2 2005/06/28 23:50:48 mkrufky Exp $ 2 * Support for LGDT3302 & LGDT3303 (DViCO FustionHDTV Gold) - VSB/QAM
3 *
4 * 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>
7 * 5 *
@@ -21,8 +19,8 @@
21 * 19 *
22 */ 20 */
23 21
24#ifndef _LGDT3302_PRIV_ 22#ifndef _LGDT330X_PRIV_
25#define _LGDT3302_PRIV_ 23#define _LGDT330X_PRIV_
26 24
27/* i2c control register addresses */ 25/* i2c control register addresses */
28enum I2C_REG { 26enum I2C_REG {
@@ -63,7 +61,7 @@ enum I2C_REG {
63 PACKET_ERR_COUNTER2= 0x6b, 61 PACKET_ERR_COUNTER2= 0x6b,
64}; 62};
65 63
66#endif /* _LGDT3302_PRIV_ */ 64#endif /* _LGDT330X_PRIV_ */
67 65
68/* 66/*
69 * Local variables: 67 * Local variables:
diff --git a/drivers/media/video/Kconfig b/drivers/media/video/Kconfig
index e0e4930d7eff..ac81e5e01a9a 100644
--- a/drivers/media/video/Kconfig
+++ b/drivers/media/video/Kconfig
@@ -331,7 +331,7 @@ config VIDEO_CX88_DVB
331 select DVB_MT352 331 select DVB_MT352
332 select DVB_OR51132 332 select DVB_OR51132
333 select DVB_CX22702 333 select DVB_CX22702
334 select DVB_LGDT3302 334 select DVB_LGDT330X
335 ---help--- 335 ---help---
336 This adds support for DVB/ATSC cards based on the 336 This adds support for DVB/ATSC cards based on the
337 Connexant 2388x chip. 337 Connexant 2388x chip.
diff --git a/drivers/media/video/cx88/Makefile b/drivers/media/video/cx88/Makefile
index 000f4c3454da..107e48645e3a 100644
--- a/drivers/media/video/cx88/Makefile
+++ b/drivers/media/video/cx88/Makefile
@@ -15,8 +15,8 @@ endif
15ifneq ($(CONFIG_DVB_OR51132),n) 15ifneq ($(CONFIG_DVB_OR51132),n)
16 EXTRA_CFLAGS += -DHAVE_OR51132=1 16 EXTRA_CFLAGS += -DHAVE_OR51132=1
17endif 17endif
18ifneq ($(CONFIG_DVB_LGDT3302),n) 18ifneq ($(CONFIG_DVB_LGDT330X),n)
19 EXTRA_CFLAGS += -DHAVE_LGDT3302=1 19 EXTRA_CFLAGS += -DHAVE_LGDT330X=1
20endif 20endif
21ifneq ($(CONFIG_DVB_MT352),n) 21ifneq ($(CONFIG_DVB_MT352),n)
22 EXTRA_CFLAGS += -DHAVE_MT352=1 22 EXTRA_CFLAGS += -DHAVE_MT352=1
diff --git a/drivers/media/video/cx88/cx88-dvb.c b/drivers/media/video/cx88/cx88-dvb.c
index 95847b5a487b..ef0e9a85c359 100644
--- a/drivers/media/video/cx88/cx88-dvb.c
+++ b/drivers/media/video/cx88/cx88-dvb.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * $Id: cx88-dvb.c,v 1.52 2005/07/24 22:12:47 mkrufky Exp $ 2 * $Id: cx88-dvb.c,v 1.54 2005/07/25 05:13:50 mkrufky Exp $
3 * 3 *
4 * device driver for Conexant 2388x based TV cards 4 * device driver for Conexant 2388x based TV cards
5 * MPEG Transport Stream (DVB) routines 5 * MPEG Transport Stream (DVB) routines
@@ -31,7 +31,6 @@
31#include <linux/suspend.h> 31#include <linux/suspend.h>
32#include <linux/config.h> 32#include <linux/config.h>
33 33
34
35#include "cx88.h" 34#include "cx88.h"
36#include "dvb-pll.h" 35#include "dvb-pll.h"
37 36
@@ -45,8 +44,8 @@
45#ifdef HAVE_OR51132 44#ifdef HAVE_OR51132
46# include "or51132.h" 45# include "or51132.h"
47#endif 46#endif
48#ifdef HAVE_LGDT3302 47#ifdef HAVE_LGDT330X
49# include "lgdt3302.h" 48# include "lgdt330x.h"
50#endif 49#endif
51 50
52MODULE_DESCRIPTION("driver for cx2388x based DVB cards"); 51MODULE_DESCRIPTION("driver for cx2388x based DVB cards");
@@ -207,8 +206,8 @@ static struct or51132_config pchdtv_hd3000 = {
207}; 206};
208#endif 207#endif
209 208
210#ifdef HAVE_LGDT3302 209#ifdef HAVE_LGDT330X
211static int lgdt3302_pll_set(struct dvb_frontend* fe, 210static int lgdt330x_pll_set(struct dvb_frontend* fe,
212 struct dvb_frontend_parameters* params, 211 struct dvb_frontend_parameters* params,
213 u8* pllbuf) 212 u8* pllbuf)
214{ 213{
@@ -220,7 +219,7 @@ static int lgdt3302_pll_set(struct dvb_frontend* fe,
220 return 0; 219 return 0;
221} 220}
222 221
223static int lgdt3302_pll_rf_set(struct dvb_frontend* fe, int index) 222static int lgdt330x_pll_rf_set(struct dvb_frontend* fe, int index)
224{ 223{
225 struct cx8802_dev *dev= fe->dvb->priv; 224 struct cx8802_dev *dev= fe->dvb->priv;
226 struct cx88_core *core = dev->core; 225 struct cx88_core *core = dev->core;
@@ -233,7 +232,7 @@ static int lgdt3302_pll_rf_set(struct dvb_frontend* fe, int index)
233 return 0; 232 return 0;
234} 233}
235 234
236static int lgdt3302_set_ts_param(struct dvb_frontend* fe, int is_punctured) 235static int lgdt330x_set_ts_param(struct dvb_frontend* fe, int is_punctured)
237{ 236{
238 struct cx8802_dev *dev= fe->dvb->priv; 237 struct cx8802_dev *dev= fe->dvb->priv;
239 if (is_punctured) 238 if (is_punctured)
@@ -243,10 +242,10 @@ static int lgdt3302_set_ts_param(struct dvb_frontend* fe, int is_punctured)
243 return 0; 242 return 0;
244} 243}
245 244
246static struct lgdt3302_config fusionhdtv_3_gold = { 245static struct lgdt330x_config fusionhdtv_3_gold = {
247 .demod_address = 0x0e, 246 .demod_address = 0x0e,
248 .pll_set = lgdt3302_pll_set, 247 .pll_set = lgdt330x_pll_set,
249 .set_ts_params = lgdt3302_set_ts_param, 248 .set_ts_params = lgdt330x_set_ts_param,
250}; 249};
251#endif 250#endif
252 251
@@ -297,7 +296,7 @@ static int dvb_register(struct cx8802_dev *dev)
297 &dev->core->i2c_adap); 296 &dev->core->i2c_adap);
298 break; 297 break;
299#endif 298#endif
300#ifdef HAVE_LGDT3302 299#ifdef HAVE_LGDT330X
301 case CX88_BOARD_DVICO_FUSIONHDTV_3_GOLD_Q: 300 case CX88_BOARD_DVICO_FUSIONHDTV_3_GOLD_Q:
302 dev->ts_gen_cntrl = 0x08; 301 dev->ts_gen_cntrl = 0x08;
303 { 302 {
@@ -310,10 +309,10 @@ static int dvb_register(struct cx8802_dev *dev)
310 mdelay(200); 309 mdelay(200);
311 310
312 /* Select RF connector callback */ 311 /* Select RF connector callback */
313 fusionhdtv_3_gold.pll_rf_set = lgdt3302_pll_rf_set; 312 fusionhdtv_3_gold.pll_rf_set = lgdt330x_pll_rf_set;
314 dev->core->pll_addr = 0x61; 313 dev->core->pll_addr = 0x61;
315 dev->core->pll_desc = &dvb_pll_microtune_4042; 314 dev->core->pll_desc = &dvb_pll_microtune_4042;
316 dev->dvb.frontend = lgdt3302_attach(&fusionhdtv_3_gold, 315 dev->dvb.frontend = lgdt330x_attach(&fusionhdtv_3_gold,
317 &dev->core->i2c_adap); 316 &dev->core->i2c_adap);
318 } 317 }
319 break; 318 break;
@@ -329,7 +328,7 @@ static int dvb_register(struct cx8802_dev *dev)
329 mdelay(200); 328 mdelay(200);
330 dev->core->pll_addr = 0x61; 329 dev->core->pll_addr = 0x61;
331 dev->core->pll_desc = &dvb_pll_thomson_dtt7611; 330 dev->core->pll_desc = &dvb_pll_thomson_dtt7611;
332 dev->dvb.frontend = lgdt3302_attach(&fusionhdtv_3_gold, 331 dev->dvb.frontend = lgdt330x_attach(&fusionhdtv_3_gold,
333 &dev->core->i2c_adap); 332 &dev->core->i2c_adap);
334 } 333 }
335 break; 334 break;
diff --git a/drivers/media/video/cx88/cx88-i2c.c b/drivers/media/video/cx88/cx88-i2c.c
index 8403c4e95050..a628a55299c6 100644
--- a/drivers/media/video/cx88/cx88-i2c.c
+++ b/drivers/media/video/cx88/cx88-i2c.c
@@ -1,5 +1,5 @@
1/* 1/*
2 $Id: cx88-i2c.c,v 1.28 2005/07/05 17:37:35 nsh Exp $ 2 $Id: cx88-i2c.c,v 1.30 2005/07/25 05:10:13 mkrufky Exp $
3 3
4 cx88-i2c.c -- all the i2c code is here 4 cx88-i2c.c -- all the i2c code is here
5 5
@@ -164,7 +164,7 @@ static struct i2c_client cx8800_i2c_client_template = {
164}; 164};
165 165
166static char *i2c_devs[128] = { 166static char *i2c_devs[128] = {
167 [ 0x1c >> 1 ] = "lgdt3302", 167 [ 0x1c >> 1 ] = "lgdt330x",
168 [ 0x86 >> 1 ] = "tda9887/cx22702", 168 [ 0x86 >> 1 ] = "tda9887/cx22702",
169 [ 0xa0 >> 1 ] = "eeprom", 169 [ 0xa0 >> 1 ] = "eeprom",
170 [ 0xc0 >> 1 ] = "tuner (analog)", 170 [ 0xc0 >> 1 ] = "tuner (analog)",