On Tuesday 10 February 2009 19:47:40 Mauro Carvalho Chehab wrote:
> On Tue, 10 Feb 2009 10:25:26 -0800 (PST)
>
> Trent Piepho <xy...@speakeasy.org> 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'
> [...@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 <hverk...@xs4all.nl>

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

Reply via email to