aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/cx88
diff options
context:
space:
mode:
authorJean Delvare <khali@linux-fr.org>2010-06-28 11:55:43 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-08-02 14:32:25 -0400
commit15ceb6b1c30ea40bdbe6a6246e2468d9bab375f5 (patch)
tree3c92390e10daef2f86d27def563a7212ac5a2cbf /drivers/media/video/cx88
parent7d7b5284d710f42f4c0c0d376d9a6af544c39afd (diff)
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>
Diffstat (limited to 'drivers/media/video/cx88')
-rw-r--r--drivers/media/video/cx88/cx88-cards.c1
-rw-r--r--drivers/media/video/cx88/cx88-i2c.c6
-rw-r--r--drivers/media/video/cx88/cx88.h1
3 files changed, 7 insertions, 1 deletions
diff --git a/drivers/media/video/cx88/cx88-cards.c b/drivers/media/video/cx88/cx88-cards.c
index 2918a6e38fe8..658ee90db5a4 100644
--- a/drivers/media/video/cx88/cx88-cards.c
+++ b/drivers/media/video/cx88/cx88-cards.c
@@ -3498,6 +3498,7 @@ struct cx88_core *cx88_core_create(struct pci_dev *pci, int nr)
3498 } 3498 }
3499 3499
3500 cx88_card_setup(core); 3500 cx88_card_setup(core);
3501 cx88_i2c_init_ir(core);
3501 cx88_ir_init(core, pci); 3502 cx88_ir_init(core, pci);
3502 3503
3503 return core; 3504 return core;
diff --git a/drivers/media/video/cx88/cx88-i2c.c b/drivers/media/video/cx88/cx88-i2c.c
index fb39f1184558..375ad53f7961 100644
--- a/drivers/media/video/cx88/cx88-i2c.c
+++ b/drivers/media/video/cx88/cx88-i2c.c
@@ -181,6 +181,11 @@ int cx88_i2c_init(struct cx88_core *core, struct pci_dev *pci)
181 } else 181 } else
182 printk("%s: i2c register FAILED\n", core->name); 182 printk("%s: i2c register FAILED\n", core->name);
183 183
184 return core->i2c_rc;
185}
186
187void cx88_i2c_init_ir(struct cx88_core *core)
188{
184 /* Instantiate the IR receiver device, if present */ 189 /* Instantiate the IR receiver device, if present */
185 if (0 == core->i2c_rc) { 190 if (0 == core->i2c_rc) {
186 struct i2c_board_info info; 191 struct i2c_board_info info;
@@ -207,7 +212,6 @@ int cx88_i2c_init(struct cx88_core *core, struct pci_dev *pci)
207 } 212 }
208 } 213 }
209 } 214 }
210 return core->i2c_rc;
211} 215}
212 216
213/* ----------------------------------------------------------------------- */ 217/* ----------------------------------------------------------------------- */
diff --git a/drivers/media/video/cx88/cx88.h b/drivers/media/video/cx88/cx88.h
index bdb03d336536..33d161a11725 100644
--- a/drivers/media/video/cx88/cx88.h
+++ b/drivers/media/video/cx88/cx88.h
@@ -636,6 +636,7 @@ extern struct videobuf_queue_ops cx8800_vbi_qops;
636/* cx88-i2c.c */ 636/* cx88-i2c.c */
637 637
638extern int cx88_i2c_init(struct cx88_core *core, struct pci_dev *pci); 638extern int cx88_i2c_init(struct cx88_core *core, struct pci_dev *pci);
639extern void cx88_i2c_init_ir(struct cx88_core *core);
639 640
640 641
641/* ----------------------------------------------------------- */ 642/* ----------------------------------------------------------- */