V4L/DVB (7648): cx23885: Load any module dependencies accordingly
authorSteven Toth <stoth@hauppauge.com>
Sat, 19 Apr 2008 04:36:06 +0000 (01:36 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Thu, 24 Apr 2008 17:09:44 +0000 (14:09 -0300)
For boards that require the avcore (cx25840) to be active, ensure
it gets loaded.

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
drivers/media/video/cx23885/cx23885-cards.c
drivers/media/video/cx23885/cx23885-core.c

index 84636ffc64dcff622831274aab2daba3b00e16d7..859510f7469cbc973dcf16492d7ae3db66695373 100644 (file)
@@ -431,6 +431,16 @@ void cx23885_card_setup(struct cx23885_dev *dev)
                ts2->src_sel_val   = CX23885_SRC_SEL_PARALLEL_MPEG_VIDEO;
        }
 
+       /* Certain boards support analog, or require the avcore to be
+        * loaded, ensure this happens.
+        */
+       switch (dev->board) {
+       case CX23885_BOARD_HAUPPAUGE_HVR1800:
+       case CX23885_BOARD_HAUPPAUGE_HVR1800lp:
+       case CX23885_BOARD_HAUPPAUGE_HVR1700:
+               request_module("cx25840");
+               break;
+       }
 }
 
 /* ------------------------------------------------------------------ */
index 52942d102de4bf2768815063ac4a7f4b5700fc95..b23d60801ed0d982cf45054f5ea4cfcd30123082 100644 (file)
@@ -744,8 +744,8 @@ static int cx23885_dev_setup(struct cx23885_dev *dev)
        cx23885_i2c_register(&dev->i2c_bus[0]);
        cx23885_i2c_register(&dev->i2c_bus[1]);
        cx23885_i2c_register(&dev->i2c_bus[2]);
-       cx23885_call_i2c_clients (&dev->i2c_bus[0], TUNER_SET_STANDBY, NULL);
        cx23885_card_setup(dev);
+       cx23885_call_i2c_clients (&dev->i2c_bus[0], TUNER_SET_STANDBY, NULL);
        cx23885_ir_init(dev);
 
        if (cx23885_boards[dev->board].porta == CX23885_ANALOG_VIDEO) {