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>
17 lines
613 B
Makefile
17 lines
613 B
Makefile
cx88xx-objs := cx88-cards.o cx88-core.o cx88-i2c.o cx88-tvaudio.o \
|
|
cx88-input.o
|
|
cx8800-objs := cx88-video.o cx88-vbi.o
|
|
cx8802-objs := cx88-mpeg.o
|
|
|
|
obj-$(CONFIG_VIDEO_CX88) += cx88xx.o cx8800.o
|
|
obj-$(CONFIG_VIDEO_CX88_MPEG) += cx8802.o
|
|
obj-$(CONFIG_VIDEO_CX88_ALSA) += cx88-alsa.o
|
|
obj-$(CONFIG_VIDEO_CX88_BLACKBIRD) += cx88-blackbird.o
|
|
obj-$(CONFIG_VIDEO_CX88_DVB) += cx88-dvb.o
|
|
obj-$(CONFIG_VIDEO_CX88_VP3054) += cx88-vp3054-i2c.o
|
|
|
|
EXTRA_CFLAGS += -Idrivers/media/video
|
|
EXTRA_CFLAGS += -Idrivers/media/common/tuners
|
|
EXTRA_CFLAGS += -Idrivers/media/dvb/dvb-core
|
|
EXTRA_CFLAGS += -Idrivers/media/dvb/frontends
|