aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/cx23885/cx23885-dvb.c
diff options
context:
space:
mode:
authorSteven Toth <stoth@hauppauge.com>2008-08-12 12:30:03 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2008-10-12 07:36:55 -0400
commit4c56b04af67211c4311dd9961ce5aba86b96ba9c (patch)
tree6583324cd8f0c7033a14a2493383809190788cac /drivers/media/video/cx23885/cx23885-dvb.c
parentba77531f51d59a4ca4e5f9b5960301f7dc7a5390 (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.c26
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);