From 3057906df5c9be9c99a181eccac3bc40cf07ad9f Mon Sep 17 00:00:00 2001 From: Steven Toth Date: Mon, 25 Sep 2006 12:43:42 -0300 Subject: [PATCH] V4L/DVB (4666): Ensure the WM8775 driver is loaded generically for any board. 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 Signed-off-by: Mauro Carvalho Chehab --- drivers/media/video/cx88/cx88-cards.c | 1 + drivers/media/video/cx88/cx88-video.c | 3 +++ drivers/media/video/cx88/cx88.h | 2 ++ include/media/audiochip.h | 4 +++- 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/media/video/cx88/cx88-cards.c b/drivers/media/video/cx88/cx88-cards.c index 6214eb823b..425d15df9d 100644 --- a/drivers/media/video/cx88/cx88-cards.c +++ b/drivers/media/video/cx88/cx88-cards.c @@ -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, diff --git a/drivers/media/video/cx88/cx88-video.c b/drivers/media/video/cx88/cx88-video.c index fbc79e9842..cb0c0eea20 100644 --- a/drivers/media/video/cx88/cx88-video.c +++ b/drivers/media/video/cx88/cx88-video.c @@ -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"); diff --git a/drivers/media/video/cx88/cx88.h b/drivers/media/video/cx88/cx88.h index 89f12e273b..2371ab4079 100644 --- a/drivers/media/video/cx88/cx88.h +++ b/drivers/media/video/cx88/cx88.h @@ -30,6 +30,7 @@ #include #include #include +#include #include #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 { diff --git a/include/media/audiochip.h b/include/media/audiochip.h index 1fd4a22075..db8823d45a 100644 --- a/include/media/audiochip.h +++ b/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 */ -- 2.39.5