diff options
author | Steven Toth <stoth@hauppauge.com> | 2008-08-12 12:30:03 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2008-10-12 07:36:55 -0400 |
commit | 4c56b04af67211c4311dd9961ce5aba86b96ba9c (patch) | |
tree | 6583324cd8f0c7033a14a2493383809190788cac /drivers/media/video/cx23885/cx23885-dvb.c | |
parent | ba77531f51d59a4ca4e5f9b5960301f7dc7a5390 (diff) |
V4L/DVB (8807): Add DVB support for the Leadtek Winfast PxDVR3200 H
This patch is on behalf of Stephen Backway <stev391@email.com>, and
represents two patches I received (and some subsequent whitespace
cleanup I had due to how I pulled the patches).
From the original author:
a) Add DVB support for the Leadtek Winfast PxDVR3200 H.
b) The tuner callback previously checked the command 3 times:
1) To see if it was the XC2028_RESET_CLK
2) To see if it was not the XC2028_RESET_TUNER
3) To see if it was the XC2028_RESET_TUNER
This patch removes the third check.
Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Stephen Backway <stev391@email.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/cx23885/cx23885-dvb.c')
-rw-r--r-- | drivers/media/video/cx23885/cx23885-dvb.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/drivers/media/video/cx23885/cx23885-dvb.c b/drivers/media/video/cx23885/cx23885-dvb.c index f8564bb0d428..b85cb39b101d 100644 --- a/drivers/media/video/cx23885/cx23885-dvb.c +++ b/drivers/media/video/cx23885/cx23885-dvb.c | |||
@@ -501,6 +501,32 @@ static int dvb_register(struct cx23885_tsport *port) | |||
501 | } | 501 | } |
502 | break; | 502 | break; |
503 | } | 503 | } |
504 | case CX23885_BOARD_LEADTEK_WINFAST_PXDVR3200_H: | ||
505 | i2c_bus = &dev->i2c_bus[0]; | ||
506 | |||
507 | port->dvb.frontend = dvb_attach(zl10353_attach, | ||
508 | &dvico_fusionhdtv_xc3028, | ||
509 | &i2c_bus->i2c_adap); | ||
510 | if (port->dvb.frontend != NULL) { | ||
511 | struct dvb_frontend *fe; | ||
512 | struct xc2028_config cfg = { | ||
513 | .i2c_adap = &dev->i2c_bus[1].i2c_adap, | ||
514 | .i2c_addr = 0x61, | ||
515 | .video_dev = port, | ||
516 | .callback = cx23885_tuner_callback, | ||
517 | }; | ||
518 | static struct xc2028_ctrl ctl = { | ||
519 | .fname = "xc3028-v27.fw", | ||
520 | .max_len = 64, | ||
521 | .demod = XC3028_FE_ZARLINK456, | ||
522 | }; | ||
523 | |||
524 | fe = dvb_attach(xc2028_attach, port->dvb.frontend, | ||
525 | &cfg); | ||
526 | if (fe != NULL && fe->ops.tuner_ops.set_config != NULL) | ||
527 | fe->ops.tuner_ops.set_config(fe, &ctl); | ||
528 | } | ||
529 | break; | ||
504 | default: | 530 | default: |
505 | printk("%s: The frontend of your DVB/ATSC card isn't supported yet\n", | 531 | printk("%s: The frontend of your DVB/ATSC card isn't supported yet\n", |
506 | dev->name); | 532 | dev->name); |