diff options
author | Michael Krufky <mkrufky@linuxtv.org> | 2006-12-04 23:21:19 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2006-12-10 06:22:53 -0500 |
commit | 5786a34b439b660256e236f870c0418e39dd16d0 (patch) | |
tree | 8898706bc1fa021dd26fcf534114cb1c8faca786 /drivers/media/video | |
parent | 1d4bb7d3c154167c8f0b80cfd72914d8732d3d01 (diff) |
V4L/DVB (4944): Cx88: Convert DViCO FusionHDTV Hybrid to use dvb_pll_attach
Converted DViCO FusionHDTV Hybrid to use dvb_pll_attach, removing
another static dependency of cx88-dvb on dvb-pll.
Acked-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video')
-rw-r--r-- | drivers/media/video/cx88/cx88-dvb.c | 35 |
1 files changed, 3 insertions, 32 deletions
diff --git a/drivers/media/video/cx88/cx88-dvb.c b/drivers/media/video/cx88/cx88-dvb.c index 5f6d5491f5da..60dd80f595e9 100644 --- a/drivers/media/video/cx88/cx88-dvb.c +++ b/drivers/media/video/cx88/cx88-dvb.c | |||
@@ -268,35 +268,6 @@ static struct mt352_config dntv_live_dvbt_pro_config = { | |||
268 | }; | 268 | }; |
269 | #endif | 269 | #endif |
270 | 270 | ||
271 | static int dvico_hybrid_tuner_set_params(struct dvb_frontend *fe, | ||
272 | struct dvb_frontend_parameters *params) | ||
273 | { | ||
274 | u8 pllbuf[4]; | ||
275 | struct cx8802_dev *dev= fe->dvb->priv; | ||
276 | struct i2c_msg msg = | ||
277 | { .addr = dev->core->pll_addr, .flags = 0, | ||
278 | .buf = pllbuf, .len = 4 }; | ||
279 | int err; | ||
280 | |||
281 | dvb_pll_configure(dev->core->pll_desc, pllbuf, | ||
282 | params->frequency, | ||
283 | params->u.ofdm.bandwidth); | ||
284 | |||
285 | if (fe->ops.i2c_gate_ctrl) | ||
286 | fe->ops.i2c_gate_ctrl(fe, 1); | ||
287 | if ((err = i2c_transfer(&dev->core->i2c_adap, &msg, 1)) != 1) { | ||
288 | printk(KERN_WARNING "cx88-dvb: %s error " | ||
289 | "(addr %02x <- %02x, err = %i)\n", | ||
290 | __FUNCTION__, pllbuf[0], pllbuf[1], err); | ||
291 | if (err < 0) | ||
292 | return err; | ||
293 | else | ||
294 | return -EREMOTEIO; | ||
295 | } | ||
296 | |||
297 | return 0; | ||
298 | } | ||
299 | |||
300 | static struct zl10353_config dvico_fusionhdtv_hybrid = { | 271 | static struct zl10353_config dvico_fusionhdtv_hybrid = { |
301 | .demod_address = 0x0f, | 272 | .demod_address = 0x0f, |
302 | .no_tuner = 1, | 273 | .no_tuner = 1, |
@@ -599,13 +570,13 @@ static int dvb_register(struct cx8802_dev *dev) | |||
599 | #endif | 570 | #endif |
600 | break; | 571 | break; |
601 | case CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_HYBRID: | 572 | case CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_HYBRID: |
602 | dev->core->pll_addr = 0x61; | ||
603 | dev->core->pll_desc = &dvb_pll_thomson_fe6600; | ||
604 | dev->dvb.frontend = dvb_attach(zl10353_attach, | 573 | dev->dvb.frontend = dvb_attach(zl10353_attach, |
605 | &dvico_fusionhdtv_hybrid, | 574 | &dvico_fusionhdtv_hybrid, |
606 | &dev->core->i2c_adap); | 575 | &dev->core->i2c_adap); |
607 | if (dev->dvb.frontend != NULL) { | 576 | if (dev->dvb.frontend != NULL) { |
608 | dev->dvb.frontend->ops.tuner_ops.set_params = dvico_hybrid_tuner_set_params; | 577 | dvb_attach(dvb_pll_attach, dev->dvb.frontend, 0x61, |
578 | &dev->core->i2c_adap, | ||
579 | &dvb_pll_thomson_fe6600); | ||
609 | } | 580 | } |
610 | break; | 581 | break; |
611 | case CX88_BOARD_PCHDTV_HD3000: | 582 | case CX88_BOARD_PCHDTV_HD3000: |