V4L/DVB: cx88: Move I2C IR initialization

Move I2C IR initialization from just after I2C bus setup to right
before non-I2C IR initialization. This is the same as was done for
the bttv driver several months ago. Might solve bugs which have not yet
been reported for some cards. It makes both drivers consistent, and
makes it easier to disable IR support (coming soon.)

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
Jean Delvare 2010-06-28 12:55:43 -03:00 committed by Mauro Carvalho Chehab
parent 7d7b5284d7
commit 15ceb6b1c3
3 changed files with 7 additions and 1 deletions

View File

@ -3498,6 +3498,7 @@ struct cx88_core *cx88_core_create(struct pci_dev *pci, int nr)
}
cx88_card_setup(core);
cx88_i2c_init_ir(core);
cx88_ir_init(core, pci);
return core;

View File

@ -181,6 +181,11 @@ int cx88_i2c_init(struct cx88_core *core, struct pci_dev *pci)
} else
printk("%s: i2c register FAILED\n", core->name);
return core->i2c_rc;
}
void cx88_i2c_init_ir(struct cx88_core *core)
{
/* Instantiate the IR receiver device, if present */
if (0 == core->i2c_rc) {
struct i2c_board_info info;
@ -207,7 +212,6 @@ int cx88_i2c_init(struct cx88_core *core, struct pci_dev *pci)
}
}
}
return core->i2c_rc;
}
/* ----------------------------------------------------------------------- */

View File

@ -636,6 +636,7 @@ extern struct videobuf_queue_ops cx8800_vbi_qops;
/* cx88-i2c.c */
extern int cx88_i2c_init(struct cx88_core *core, struct pci_dev *pci);
extern void cx88_i2c_init_ir(struct cx88_core *core);
/* ----------------------------------------------------------- */