summaryrefslogtreecommitdiff
path: root/linux
diff options
context:
space:
mode:
authorSteven Toth <stoth@hauppauge.com>2006-09-25 12:43:42 -0300
committerSteven Toth <stoth@hauppauge.com>2006-09-25 12:43:42 -0300
commit9092a672ca84b9625c2f7ed1ec5479505baffdb0 (patch)
tree6ff375ac67fc96c4eb5f7a7b8022f7c65367ccae /linux
parent100ebe4cb9402ad48873d719f4d66de1aeb4d555 (diff)
downloadmediapointer-dvb-s2-9092a672ca84b9625c2f7ed1ec5479505baffdb0.tar.gz
mediapointer-dvb-s2-9092a672ca84b9625c2f7ed1ec5479505baffdb0.tar.bz2
Ensure the WM8775 driver is loaded generically for any board.
From: Steven Toth <stoth@hauppauge.com> 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>
Diffstat (limited to 'linux')
-rw-r--r--linux/drivers/media/video/cx88/cx88-cards.c1
-rw-r--r--linux/drivers/media/video/cx88/cx88-video.c3
-rw-r--r--linux/drivers/media/video/cx88/cx88.h2
-rw-r--r--linux/include/media/audiochip.h4
4 files changed, 9 insertions, 1 deletions
diff --git a/linux/drivers/media/video/cx88/cx88-cards.c b/linux/drivers/media/video/cx88/cx88-cards.c
index 6478e13d6..f15233766 100644
--- a/linux/drivers/media/video/cx88/cx88-cards.c
+++ b/linux/drivers/media/video/cx88/cx88-cards.c
@@ -1320,6 +1320,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,
diff --git a/linux/drivers/media/video/cx88/cx88-video.c b/linux/drivers/media/video/cx88/cx88-video.c
index 836f0e7a5..9782a3799 100644
--- a/linux/drivers/media/video/cx88/cx88-video.c
+++ b/linux/drivers/media/video/cx88/cx88-video.c
@@ -2225,6 +2225,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");
diff --git a/linux/drivers/media/video/cx88/cx88.h b/linux/drivers/media/video/cx88/cx88.h
index 88338673c..f46721123 100644
--- a/linux/drivers/media/video/cx88/cx88.h
+++ b/linux/drivers/media/video/cx88/cx88.h
@@ -30,6 +30,7 @@
#include <media/tveeprom.h>
#include <media/video-buf.h>
#include <media/cx2341x.h>
+#include <media/audiochip.h>
#ifdef HAVE_VIDEO_BUF_DVB
#include <media/video-buf-dvb.h>
#endif
@@ -240,6 +241,7 @@ struct cx88_board {
struct cx88_input radio;
unsigned int blackbird:1;
unsigned int dvb:1;
+ enum audiochip audio_chip;
};
struct cx88_subid {
diff --git a/linux/include/media/audiochip.h b/linux/include/media/audiochip.h
index 1fd4a2207..db8823d45 100644
--- a/linux/include/media/audiochip.h
+++ b/linux/include/media/audiochip.h
@@ -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 */