On Tuesday 10 February 2009 19:47:40 Mauro Carvalho Chehab wrote: > On Tue, 10 Feb 2009 10:25:26 -0800 (PST) > > Trent Piepho <xyzzy@xxxxxxxxxxxxx> wrote: > > On Tue, 10 Feb 2009, Eduard Huguet wrote: > > > I don't have yet the buggy config, but the steps I was following > > > when I encounter the problem were the following: > > > · hg clone http://linuxtv.org/hg/v4l-dvb > > > · cd v4l-dvb > > > · make menuconfig > > > > This is what I did too. Just use the menuconfig or xconfig targets. > > Maybe the kernel kconfig behavior has changed? > > Hmm... I did a test here with RHEL 2.6.18 kernel: > > $ make menuconfig > make -C /home/v4l/master/v4l menuconfig > make[1]: Entrando no diretório `/home/v4l/master/v4l' > /usr/src/kernels/2.6.18-125.el5-x86_64//scripts/kconfig/mconf ./Kconfig > # > # configuration written to .config > # > > > *** End of Linux kernel configuration. > *** Execute 'make' to build the kernel or try 'make help'. > > $ grep CX88 v4l/.config > CONFIG_VIDEO_CX88=m > CONFIG_VIDEO_CX88_ALSA=m > CONFIG_VIDEO_CX88_BLACKBIRD=m > CONFIG_VIDEO_CX88_DVB=m > CONFIG_VIDEO_CX88_MPEG=y > CONFIG_VIDEO_CX88_VP3054=m > > So, I got the buggy .config > > Another test with 2.6.27: > > $ make menuconfig > make -C /home/v4l/master/v4l menuconfig > make[1]: Entrando no diretório `/home/v4l/master/v4l' > ./scripts/make_kconfig.pl /usr/src/kernels/v2.6.27.4/ > /usr/src/kernels/v2.6.27.4/ Preparing to compile for kernel version > 2.6.27 > VIDEO_PXA27x: Requires at least kernel 2.6.29 > USB_STV06XX: Requires at least kernel 2.6.28 > /usr/src/kernels/v2.6.27.4.i5400//scripts/kconfig/mconf ./Kconfig > # > # configuration written to .config > # > > > *** End of Linux kernel configuration. > *** Execute 'make' to build the kernel or try 'make help'. > > make[1]: Saindo do diretório `/home/v4l/master/v4l' > [v4l@pedra master]$ grep CX88 v4l/.config > CONFIG_VIDEO_CX88=m > CONFIG_VIDEO_CX88_ALSA=m > CONFIG_VIDEO_CX88_BLACKBIRD=m > CONFIG_VIDEO_CX88_DVB=m > CONFIG_VIDEO_CX88_MPEG=m > CONFIG_VIDEO_CX88_VP3054=m > > With 2.6.27, everything is OK. > > So, it seems that a fix at some kernel between 2.6.22 and 2.6.27 changed > (or fixed) the Kconfig behaviour. > > I suspect that the better fix for this would be to run something like: > > cat .config|sed s,'=y','=m' > > For kernels older than 2.6.27. > > Maybe Hans can give us a hint on what kernel this issue were solved, with > his build environment. 2.6.21 is wrong, 2.6.22 is right. Cause: dependency on VIDEOBUF_DMA_SG, which has a dependency on CONFIG_HAS_DMA, which was apparently introduced in 2.6.22 and didn't exist in 2.6.21. This is fixed by the attached diff. Signed-off-by: Hans Verkuil <hverkuil@xxxxxxxxx> BTW, all the scripts I use to setup and run the build environment are available here: http://www.xs4all.nl/%7Ehverkuil/logs/scripts.tar.bz2 Regards, Hans -- Hans Verkuil - video4linux developer - sponsored by TANDBERG
diff -r 9cb19f080660 v4l/scripts/make_kconfig.pl --- a/v4l/scripts/make_kconfig.pl Tue Feb 10 05:26:05 2009 -0200 +++ b/v4l/scripts/make_kconfig.pl Tue Feb 10 21:28:50 2009 +0100 @@ -537,6 +537,11 @@ $kernopts{HAS_IOMEM} = 2; } +# Kernel < 2.6.22 is missing the HAS_DMA option +if (!defined $kernopts{HAS_DMA} && cmp_ver($kernver, '2.6.22') < 0) { + $kernopts{HAS_DMA} = 2; +} + # Kernel < 2.6.23 is missing the VIRT_TO_BUS option if (!defined $kernopts{VIRT_TO_BUS} && cmp_ver($kernver, '2.6.23') < 0) { # VIRT_TO_BUS -> !PPC64