From 97100944f9cd814e2a9b058239ae1821bc62a7ed Mon Sep 17 00:00:00 2001 From: Trent Piepho Date: Mon, 4 Dec 2006 18:04:11 -0300 Subject: [PATCH] --- yaml --- r: 44139 b: refs/heads/master c: 1c5ee876d697a9d1b70117e4277eaa445d14a728 h: refs/heads/master i: 44137: 65f8a0624cae1fcdaf52bc99d91a9f8a70e8abec 44135: ac75c737310b4fe08244c4e9521fffa6718536a1 v: v3 --- [refs] | 2 +- trunk/drivers/media/video/cx88/cx88-dvb.c | 38 +++-------------------- 2 files changed, 5 insertions(+), 35 deletions(-) diff --git a/[refs] b/[refs] index 21c4d656c7aa..95b659a07015 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a1ed551cdb4f29157466340760fde68bcda704a9 +refs/heads/master: 1c5ee876d697a9d1b70117e4277eaa445d14a728 diff --git a/trunk/drivers/media/video/cx88/cx88-dvb.c b/trunk/drivers/media/video/cx88/cx88-dvb.c index 0266a3616ce8..95db017baddb 100644 --- a/trunk/drivers/media/video/cx88/cx88-dvb.c +++ b/trunk/drivers/media/video/cx88/cx88-dvb.c @@ -360,38 +360,6 @@ static struct or51132_config pchdtv_hd3000 = { .set_ts_params = or51132_set_ts_param, }; -static int lgdt3302_tuner_set_params(struct dvb_frontend* fe, - struct dvb_frontend_parameters* params) -{ - /* FIXME make this routine use the tuner-simple code. - * It could probably be shared with a number of ATSC - * frontends. Many share the same tuner with analog TV. */ - - struct cx8802_dev *dev= fe->dvb->priv; - struct cx88_core *core = dev->core; - u8 buf[4]; - struct i2c_msg msg = - { .addr = dev->core->pll_addr, .flags = 0, .buf = buf, .len = 4 }; - int err; - - dvb_pll_configure(core->pll_desc, buf, params->frequency, 0); - dprintk(1, "%s: tuner at 0x%02x bytes: 0x%02x 0x%02x 0x%02x 0x%02x\n", - __FUNCTION__, msg.addr, buf[0],buf[1],buf[2],buf[3]); - - if (fe->ops.i2c_gate_ctrl) - fe->ops.i2c_gate_ctrl(fe, 1); - if ((err = i2c_transfer(&core->i2c_adap, &msg, 1)) != 1) { - printk(KERN_WARNING "cx88-dvb: %s error " - "(addr %02x <- %02x, err = %i)\n", - __FUNCTION__, buf[0], buf[1], err); - if (err < 0) - return err; - else - return -EREMOTEIO; - } - return 0; -} - static int lgdt330x_pll_rf_set(struct dvb_frontend* fe, int index) { struct cx8802_dev *dev= fe->dvb->priv; @@ -669,7 +637,8 @@ static int dvb_register(struct cx8802_dev *dev) &fusionhdtv_3_gold, &dev->core->i2c_adap); if (dev->dvb.frontend != NULL) { - dev->dvb.frontend->ops.tuner_ops.set_params = lgdt3302_tuner_set_params; + dvb_attach(dvb_pll_attach, dev->dvb.frontend, dev->core->pll_addr, + &dev->core->i2c_adap, dev->core->pll_desc); } } break; @@ -689,7 +658,8 @@ static int dvb_register(struct cx8802_dev *dev) &fusionhdtv_3_gold, &dev->core->i2c_adap); if (dev->dvb.frontend != NULL) { - dev->dvb.frontend->ops.tuner_ops.set_params = lgdt3302_tuner_set_params; + dvb_attach(dvb_pll_attach, dev->dvb.frontend, dev->core->pll_addr, + &dev->core->i2c_adap, dev->core->pll_desc); } } break;