diff options
author | Luis Alves <ljalvs@gmail.com> | 2013-10-01 22:11:35 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <m.chehab@samsung.com> | 2013-10-03 07:39:22 -0300 |
commit | e6001482d49ffe1554f55c47a4ed903e86fe69a5 (patch) | |
tree | bbd74471dabe84cb8bea45bdfbac7f0bf6e82bcd /drivers/media/pci/cx23885/cx23885-dvb.c | |
parent | 0d78868094c482367692cf40f6c364e06815ad05 (diff) | |
download | linux-e6001482d49ffe1554f55c47a4ed903e86fe69a5.tar.gz linux-e6001482d49ffe1554f55c47a4ed903e86fe69a5.tar.bz2 linux-e6001482d49ffe1554f55c47a4ed903e86fe69a5.zip |
[media] cx23885: add support for cx24117 with tbs6980 or tbs6981
Signed-off-by: Luis Alves <ljalvs@gmail.com>
Reviewed-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Diffstat (limited to 'drivers/media/pci/cx23885/cx23885-dvb.c')
-rw-r--r-- | drivers/media/pci/cx23885/cx23885-dvb.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/drivers/media/pci/cx23885/cx23885-dvb.c b/drivers/media/pci/cx23885/cx23885-dvb.c index 971e4ff1b87f..34120db1f51f 100644 --- a/drivers/media/pci/cx23885/cx23885-dvb.c +++ b/drivers/media/pci/cx23885/cx23885-dvb.c @@ -51,6 +51,7 @@ #include "stv6110.h" #include "lnbh24.h" #include "cx24116.h" +#include "cx24117.h" #include "cimax2.h" #include "lgs8gxx.h" #include "netup-eeprom.h" @@ -461,6 +462,10 @@ static struct cx24116_config tbs_cx24116_config = { .demod_address = 0x55, }; +static struct cx24117_config tbs_cx24117_config = { + .demod_address = 0x55, +}; + static struct ds3000_config tevii_ds3000_config = { .demod_address = 0x68, }; @@ -1044,6 +1049,32 @@ static int dvb_register(struct cx23885_tsport *port) fe0->dvb.frontend->ops.set_voltage = f300_set_voltage; break; + case CX23885_BOARD_TBS_6980: + case CX23885_BOARD_TBS_6981: + i2c_bus = &dev->i2c_bus[1]; + + switch (port->nr) { + /* PORT B */ + case 1: + fe0->dvb.frontend = dvb_attach(cx24117_attach, + &tbs_cx24117_config, + &i2c_bus->i2c_adap, NULL); + break; + /* PORT C */ + case 2: + /* use fe1 pointer as temporary holder */ + /* for the first frontend */ + fe1 = videobuf_dvb_get_frontend( + &port->dev->ts1.frontends, 1); + + fe0->dvb.frontend = dvb_attach(cx24117_attach, + &tbs_cx24117_config, + &i2c_bus->i2c_adap, fe1->dvb.frontend); + /* we're done, so clear fe1 pointer */ + fe1 = NULL; + break; + } + break; case CX23885_BOARD_TEVII_S470: i2c_bus = &dev->i2c_bus[1]; |