2005-04-17 06:20:36 +08:00
|
|
|
cx88xx-objs := cx88-cards.o cx88-core.o cx88-i2c.o cx88-tvaudio.o \
|
2009-04-01 06:01:51 +08:00
|
|
|
cx88-dsp.o cx88-input.o
|
2005-04-17 06:20:36 +08:00
|
|
|
cx8800-objs := cx88-video.o cx88-vbi.o
|
|
|
|
cx8802-objs := cx88-mpeg.o
|
|
|
|
|
V4L/DVB (10190): cx88: Fix some Kbuild troubles
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>
2009-01-07 03:06:07 +08:00
|
|
|
obj-$(CONFIG_VIDEO_CX88) += cx88xx.o cx8800.o
|
|
|
|
obj-$(CONFIG_VIDEO_CX88_MPEG) += cx8802.o
|
2006-01-14 00:10:24 +08:00
|
|
|
obj-$(CONFIG_VIDEO_CX88_ALSA) += cx88-alsa.o
|
2006-06-25 08:05:12 +08:00
|
|
|
obj-$(CONFIG_VIDEO_CX88_BLACKBIRD) += cx88-blackbird.o
|
|
|
|
obj-$(CONFIG_VIDEO_CX88_DVB) += cx88-dvb.o
|
2006-01-26 14:37:19 +08:00
|
|
|
obj-$(CONFIG_VIDEO_CX88_VP3054) += cx88-vp3054-i2c.o
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2012-08-15 03:23:43 +08:00
|
|
|
ccflags-y += -Idrivers/media/i2c
|
2012-06-15 03:35:59 +08:00
|
|
|
ccflags-y += -Idrivers/media/tuners
|
2012-06-15 03:35:53 +08:00
|
|
|
ccflags-y += -Idrivers/media/dvb-core
|
2012-08-14 10:13:41 +08:00
|
|
|
ccflags-y += -Idrivers/media/dvb-frontends
|