[media] cx23885: implement num_fds_portb, num_fds_portc parameters for cx23885_board structure
This is needed for multifrontend support. NetUP Dual DVB-T/C CI RF card has frontends connected to port B & C Each frontend has two switchable cores - DVB-T & DVB-C Signed-off-by: Igor M. Liplianin <liplianin@netup.ru> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
557f48d572
commit
10d0dcd73c
3 changed files with 9 additions and 0 deletions
|
@ -344,6 +344,8 @@ struct cx23885_board cx23885_boards[] = {
|
||||||
.porta = CX23885_ANALOG_VIDEO,
|
.porta = CX23885_ANALOG_VIDEO,
|
||||||
.portb = CX23885_MPEG_DVB,
|
.portb = CX23885_MPEG_DVB,
|
||||||
.portc = CX23885_MPEG_DVB,
|
.portc = CX23885_MPEG_DVB,
|
||||||
|
.num_fds_portb = 2,
|
||||||
|
.num_fds_portc = 2,
|
||||||
.tuner_type = TUNER_XC5000,
|
.tuner_type = TUNER_XC5000,
|
||||||
.tuner_addr = 0x64,
|
.tuner_addr = 0x64,
|
||||||
.input = { {
|
.input = { {
|
||||||
|
|
|
@ -1005,6 +1005,9 @@ static int cx23885_dev_setup(struct cx23885_dev *dev)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cx23885_boards[dev->board].portb == CX23885_MPEG_DVB) {
|
if (cx23885_boards[dev->board].portb == CX23885_MPEG_DVB) {
|
||||||
|
if (cx23885_boards[dev->board].num_fds_portb)
|
||||||
|
dev->ts1.num_frontends =
|
||||||
|
cx23885_boards[dev->board].num_fds_portb;
|
||||||
if (cx23885_dvb_register(&dev->ts1) < 0) {
|
if (cx23885_dvb_register(&dev->ts1) < 0) {
|
||||||
printk(KERN_ERR "%s() Failed to register dvb adapters on VID_B\n",
|
printk(KERN_ERR "%s() Failed to register dvb adapters on VID_B\n",
|
||||||
__func__);
|
__func__);
|
||||||
|
@ -1019,6 +1022,9 @@ static int cx23885_dev_setup(struct cx23885_dev *dev)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cx23885_boards[dev->board].portc == CX23885_MPEG_DVB) {
|
if (cx23885_boards[dev->board].portc == CX23885_MPEG_DVB) {
|
||||||
|
if (cx23885_boards[dev->board].num_fds_portc)
|
||||||
|
dev->ts2.num_frontends =
|
||||||
|
cx23885_boards[dev->board].num_fds_portc;
|
||||||
if (cx23885_dvb_register(&dev->ts2) < 0) {
|
if (cx23885_dvb_register(&dev->ts2) < 0) {
|
||||||
printk(KERN_ERR
|
printk(KERN_ERR
|
||||||
"%s() Failed to register dvb on VID_C\n",
|
"%s() Failed to register dvb on VID_C\n",
|
||||||
|
|
|
@ -205,6 +205,7 @@ typedef enum {
|
||||||
struct cx23885_board {
|
struct cx23885_board {
|
||||||
char *name;
|
char *name;
|
||||||
port_t porta, portb, portc;
|
port_t porta, portb, portc;
|
||||||
|
int num_fds_portb, num_fds_portc;
|
||||||
unsigned int tuner_type;
|
unsigned int tuner_type;
|
||||||
unsigned int radio_type;
|
unsigned int radio_type;
|
||||||
unsigned char tuner_addr;
|
unsigned char tuner_addr;
|
||||||
|
|
Loading…
Add table
Reference in a new issue