diff options
| author | Michael Krufky <mkrufky@linuxtv.org> | 2008-01-02 01:01:54 -0500 |
|---|---|---|
| committer | Michael Krufky <mkrufky@linuxtv.org> | 2008-01-02 01:01:54 -0500 |
| commit | 0d0777b5ef6d300bf28e296834ae9189dfbde8f3 (patch) | |
| tree | 238b59b07fb34e91890c34a92e54a2e64be3a990 /linux/drivers/media/video | |
| parent | 0f4252b559f6ca00764e78c17baf23b236a32bf1 (diff) | |
| download | mediapointer-dvb-s2-0d0777b5ef6d300bf28e296834ae9189dfbde8f3.tar.gz mediapointer-dvb-s2-0d0777b5ef6d300bf28e296834ae9189dfbde8f3.tar.bz2 | |
tda18271: allow device-specific configuration of IF frequency and std bits
From: Michael Krufky <mkrufky@linuxtv.org>
Allow drivers to pass device-specific configuration parameters during attach.
If these parameters are omitted, default values will be used.
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Diffstat (limited to 'linux/drivers/media/video')
| -rw-r--r-- | linux/drivers/media/video/cx23885/cx23885-dvb.c | 12 | ||||
| -rw-r--r-- | linux/drivers/media/video/tda8290.c | 6 |
2 files changed, 16 insertions, 2 deletions
diff --git a/linux/drivers/media/video/cx23885/cx23885-dvb.c b/linux/drivers/media/video/cx23885/cx23885-dvb.c index 3ec5e425c..48b241ec4 100644 --- a/linux/drivers/media/video/cx23885/cx23885-dvb.c +++ b/linux/drivers/media/video/cx23885/cx23885-dvb.c @@ -184,6 +184,16 @@ static struct tda829x_config tda829x_no_probe = { .probe_tuner = TDA829X_DONT_PROBE, }; +static struct tda18271_std_map hauppauge_tda18271_std_map = { + .atsc_6 = { .if_freq = 5380000, .std_bits = 0x1b }, + .qam_6 = { .if_freq = 4000000, .std_bits = 0x18 }, +}; + +static struct tda18271_config hauppauge_tda18271_config = { + .std_map = &hauppauge_tda18271_std_map, + .gate = TDA18271_GATE_ANALOG, +}; + static int cx23885_hvr1500_xc3028_callback(void *ptr, int command, int arg) { struct cx23885_tsport *port = ptr; @@ -249,7 +259,7 @@ static int dvb_register(struct cx23885_tsport *port) &tda829x_no_probe); dvb_attach(tda18271_attach, port->dvb.frontend, 0x60, &dev->i2c_bus[1].i2c_adap, - TDA18271_GATE_ANALOG); + &hauppauge_tda18271_config); } break; case 0: diff --git a/linux/drivers/media/video/tda8290.c b/linux/drivers/media/video/tda8290.c index ae9a54adc..fb95df7d3 100644 --- a/linux/drivers/media/video/tda8290.c +++ b/linux/drivers/media/video/tda8290.c @@ -535,6 +535,10 @@ static void tda829x_release(struct dvb_frontend *fe) fe->analog_demod_priv = NULL; } +static struct tda18271_config tda829x_tda18271_config = { + .gate = TDA18271_GATE_ANALOG, +}; + static int tda829x_find_tuner(struct dvb_frontend *fe) { struct tda8290_priv *priv = fe->analog_demod_priv; @@ -600,7 +604,7 @@ static int tda829x_find_tuner(struct dvb_frontend *fe) priv->ver |= TDA18271; tda18271_attach(fe, priv->tda827x_addr, priv->i2c_props.adap, - TDA18271_GATE_ANALOG); + &tda829x_tda18271_config); } else { if ((data & 0x3c) == 0) priv->ver |= TDA8275; |
