diff options
author | Steven Toth <stoth@hauppauge.com> | 2008-08-12 12:30:03 -0400 |
---|---|---|
committer | Steven Toth <stoth@hauppauge.com> | 2008-08-12 12:30:03 -0400 |
commit | d822215f1cd5ed0eb8ee1ffc8b71e21c43b4b2c0 (patch) | |
tree | 5699abb4707de69872e9b812e8ed83db7595ab7c /linux/drivers/media/video/cx23885/cx23885-dvb.c | |
parent | d0ba237cfdce0751f117e7b91758bc9cae3c7451 (diff) | |
download | mediapointer-dvb-s2-d822215f1cd5ed0eb8ee1ffc8b71e21c43b4b2c0.tar.gz mediapointer-dvb-s2-d822215f1cd5ed0eb8ee1ffc8b71e21c43b4b2c0.tar.bz2 |
Add DVB support for the Leadtek Winfast PxDVR3200 H
From: Steven Toth <stoth@hauppauge.com>
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.
Priority: normal
Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Stephen Backway <stev391@email.com>
Diffstat (limited to 'linux/drivers/media/video/cx23885/cx23885-dvb.c')
-rw-r--r-- | linux/drivers/media/video/cx23885/cx23885-dvb.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/linux/drivers/media/video/cx23885/cx23885-dvb.c b/linux/drivers/media/video/cx23885/cx23885-dvb.c index c0c5b5be7..9db76d100 100644 --- a/linux/drivers/media/video/cx23885/cx23885-dvb.c +++ b/linux/drivers/media/video/cx23885/cx23885-dvb.c @@ -502,6 +502,32 @@ static int dvb_register(struct cx23885_tsport *port) } break; } + case CX23885_BOARD_LEADTEK_WINFAST_PXDVR3200_H: + i2c_bus = &dev->i2c_bus[0]; + + port->dvb.frontend = dvb_attach(zl10353_attach, + &dvico_fusionhdtv_xc3028, + &i2c_bus->i2c_adap); + if (port->dvb.frontend != NULL) { + struct dvb_frontend *fe; + struct xc2028_config cfg = { + .i2c_adap = &dev->i2c_bus[1].i2c_adap, + .i2c_addr = 0x61, + .video_dev = port, + .callback = cx23885_tuner_callback, + }; + static struct xc2028_ctrl ctl = { + .fname = "xc3028-v27.fw", + .max_len = 64, + .demod = XC3028_FE_ZARLINK456, + }; + + fe = dvb_attach(xc2028_attach, port->dvb.frontend, + &cfg); + if (fe != NULL && fe->ops.tuner_ops.set_config != NULL) + fe->ops.tuner_ops.set_config(fe, &ctl); + } + break; default: printk("%s: The frontend of your DVB/ATSC card isn't supported yet\n", dev->name); |