mirror of
https://github.com/torvalds/linux.git
synced 2024-11-14 08:02:07 +00:00
e32fadc4c2
As Randy Dunlap <randy.dunlap@oracle.com> reported, cx88 has some compilation issues: drivers/built-in.o: In function `cx88_call_i2c_clients': (.text+0x20af17): undefined reference to `videobuf_dvb_get_frontend' drivers/built-in.o: In function `cx8802_probe': cx88-mpeg.c:(.devinit.text+0x268c4): undefined reference to `videobuf_dvb_alloc_frontend' cx88-mpeg.c:(.devinit.text+0x268ea): undefined reference to `videobuf_dvb_dealloc_frontends' With those configs: CONFIG_VIDEO_CX88=y CONFIG_VIDEO_CX88_BLACKBIRD=y CONFIG_VIDEO_CX88_DVB=m CONFIG_DVB_CORE=m After carefully examining the code, with the current code, several cx88 drivers (cx8800, cx8802, cx88_dvb and cx88_blackbird) should be compiled as a module, if one of them is marked as such. Just fixing Kconfig could create a very complex set of rules. Also, this hides a problem with the current approach where the dvb functionality weren't confined inside dvb module. What happens is that: - cx88-i2c (part of cx8800) has some special rules if DVB; - cx88-mpeg (cx8802 module) has also part of DVB init code; - cx88-dvb has the rest of the dvb code; - cx88-blackbird can be used with cx88-mpeg, having cx88-dvb or not. So, instead of doing some tricks at Kconfig and wait for a next breakage, this patch moves the dvb code inside cx88-i2c and cx88-mpeg into cx88-dvb. Another problem is that cx8802 were being compiled, even without cx88-dvb and cx88-blackbird modules. While on this code, let's fix also a reported problem: http://www.linuxtv.org/pipermail/linux-dvb/2009-January/031225.html A solution for the issue were proposed here: http://www.mail-archive.com/linux-media@vger.kernel.org/msg00021.html Thanks to Randy, Andy, Gregoire and Thomas for helping us to detect and solve the issues. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
86 lines
2.7 KiB
Plaintext
86 lines
2.7 KiB
Plaintext
config VIDEO_CX88
|
|
tristate "Conexant 2388x (bt878 successor) support"
|
|
depends on VIDEO_DEV && PCI && I2C && INPUT
|
|
select I2C_ALGOBIT
|
|
select VIDEO_BTCX
|
|
select VIDEOBUF_DMA_SG
|
|
select VIDEO_TUNER
|
|
select VIDEO_TVEEPROM
|
|
select VIDEO_IR
|
|
select VIDEO_WM8775 if VIDEO_HELPER_CHIPS_AUTO
|
|
---help---
|
|
This is a video4linux driver for Conexant 2388x based
|
|
TV cards.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called cx8800
|
|
|
|
config VIDEO_CX88_ALSA
|
|
tristate "Conexant 2388x DMA audio support"
|
|
depends on VIDEO_CX88 && SND && EXPERIMENTAL
|
|
select SND_PCM
|
|
---help---
|
|
This is a video4linux driver for direct (DMA) audio on
|
|
Conexant 2388x based TV cards using ALSA.
|
|
|
|
It only works with boards with function 01 enabled.
|
|
To check if your board supports, use lspci -n.
|
|
If supported, you should see 14f1:8801 or 14f1:8811
|
|
PCI device.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called cx88-alsa.
|
|
|
|
config VIDEO_CX88_BLACKBIRD
|
|
tristate "Blackbird MPEG encoder support (cx2388x + cx23416)"
|
|
depends on VIDEO_CX88
|
|
select VIDEO_CX2341X
|
|
---help---
|
|
This adds support for MPEG encoder cards based on the
|
|
Blackbird reference design, using the Conexant 2388x
|
|
and 23416 chips.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called cx88-blackbird.
|
|
|
|
config VIDEO_CX88_DVB
|
|
tristate "DVB/ATSC Support for cx2388x based TV cards"
|
|
depends on VIDEO_CX88 && DVB_CORE
|
|
select VIDEOBUF_DVB
|
|
select DVB_PLL if !DVB_FE_CUSTOMISE
|
|
select DVB_MT352 if !DVB_FE_CUSTOMISE
|
|
select DVB_ZL10353 if !DVB_FE_CUSTOMISE
|
|
select DVB_OR51132 if !DVB_FE_CUSTOMISE
|
|
select DVB_CX22702 if !DVB_FE_CUSTOMISE
|
|
select DVB_LGDT330X if !DVB_FE_CUSTOMISE
|
|
select DVB_NXT200X if !DVB_FE_CUSTOMISE
|
|
select DVB_CX24123 if !DVB_FE_CUSTOMISE
|
|
select DVB_ISL6421 if !DVB_FE_CUSTOMISE
|
|
select DVB_S5H1411 if !DVB_FE_CUSTOMISE
|
|
select DVB_CX24116 if !DVB_FE_CUSTOMISE
|
|
select DVB_STV0299 if !DVB_FE_CUSTOMISE
|
|
select DVB_STV0288 if !DVB_FE_CUSTOMISE
|
|
select DVB_STB6000 if !DVB_FE_CUSTOMISE
|
|
select MEDIA_TUNER_SIMPLE if !MEDIA_TUNER_CUSTOMIZE
|
|
---help---
|
|
This adds support for DVB/ATSC cards based on the
|
|
Conexant 2388x chip.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called cx88-dvb.
|
|
|
|
config VIDEO_CX88_MPEG
|
|
tristate
|
|
depends on VIDEO_CX88_DVB || VIDEO_CX88_BLACKBIRD
|
|
default y
|
|
|
|
config VIDEO_CX88_VP3054
|
|
tristate "VP-3054 Secondary I2C Bus Support"
|
|
default m
|
|
depends on VIDEO_CX88_DVB && DVB_MT352
|
|
---help---
|
|
This adds DVB-T support for cards based on the
|
|
Conexant 2388x chip and the MT352 demodulator,
|
|
which also require support for the VP-3054
|
|
Secondary I2C bus, such at DNTV Live! DVB-T Pro.
|