V4L/DVB (4666): Ensure the WM8775 driver is loaded generically for any board.
authorSteven Toth <stoth@hauppauge.com>
Mon, 25 Sep 2006 15:43:42 +0000 (12:43 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Tue, 3 Oct 2006 18:13:48 +0000 (15:13 -0300)
A generic change to cards to allow any board to specify whether
it needs the wm8775 module loaded (by the core) or not.

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

index 6214eb823b29afffc94b0da20d628846ed72c41c..425d15df9d076cf571db72ee91ed4f573ad5f954 100644 (file)
@@ -1287,6 +1287,7 @@ struct cx88_board cx88_boards[] = {
                .tuner_addr     = ADDR_UNSET,
                .radio_addr     = ADDR_UNSET,
                .tda9887_conf   = TDA9887_PRESENT,
+               .audio_chip     = AUDIO_CHIP_WM8775,
                .input          = {{
                        .type   = CX88_VMUX_TELEVISION,
                        .vmux   = 0,
index fbc79e9842aa70299c2d4b98147805eaffdc2996..cb0c0eea20f956e392ddfac737e87116e1f4b0f6 100644 (file)
@@ -1928,6 +1928,9 @@ static int __devinit cx8800_initdev(struct pci_dev *pci_dev,
        if (TUNER_ABSENT != core->tuner_type)
                request_module("tuner");
 
+       if (cx88_boards[ core->board ].audio_chip == AUDIO_CHIP_WM8775)
+               request_module("wm8775");
+
        /* register v4l devices */
        dev->video_dev = cx88_vdev_init(core,dev->pci,
                                        &cx8800_video_template,"video");
index 89f12e273b7f83a5ac7f47e241028e321f9dd839..2371ab4079845f7d7c88e365fb021062c109676b 100644 (file)
@@ -30,6 +30,7 @@
 #include <media/tveeprom.h>
 #include <media/video-buf.h>
 #include <media/cx2341x.h>
+#include <media/audiochip.h>
 #include <media/video-buf-dvb.h>
 
 #include "btcx-risc.h"
@@ -232,6 +233,7 @@ struct cx88_board {
        struct cx88_input       radio;
        unsigned int            blackbird:1;
        unsigned int            dvb:1;
+       enum audiochip          audio_chip;
 };
 
 struct cx88_subid {
index 1fd4a2207574670846c9a85fbd43e99564d4e543..db8823d45a7d7936fc855706787bfce855cf723c 100644 (file)
@@ -18,7 +18,9 @@ enum audiochip {
        AUDIO_CHIP_TDA9874,
        AUDIO_CHIP_PIC16C54,
        /* Provided by msp3400.c */
-       AUDIO_CHIP_MSP34XX
+       AUDIO_CHIP_MSP34XX,
+       /* Provided by wm8775.c */
+       AUDIO_CHIP_WM8775
 };
 
 #endif /* AUDIOCHIP_H */