All of lore.kernel.org
 help / color / mirror / Atom feed
* [linux-dvb] cx8802.ko module not being built with current HG tree
@ 2009-02-05 15:54 Eduard Huguet
  2009-02-05 15:59 ` Eduard Huguet
  0 siblings, 1 reply; 19+ messages in thread
From: Eduard Huguet @ 2009-02-05 15:54 UTC (permalink / raw)
  To: linux-dvb

Hi,
   Maybe I'm wrong, but I think there is something wrong in current
Kconfig file for cx88 drivers. I've been struggling for some hours
trying to find why, after compiling a fresh copy of the LinuxTV HG
drivers, I wasn't unable to modprobe cx88-dvb module, which I need for
HVR-3000.

The module was not being load because kernel was failing to find
cx8802_get_driver, etc... entry points, which are exported by
cx88-mpeg.c.

The strange part is that, according to the cx88/Kconfig file this file
should be automatically added as dependency if either CX88_DVB or
CX88_BLACKBIRD were selected,
but for some strange reason it wasn't.

After a 'make menuconfig' in HG tree the kernel configuration
contained these lines (this was using the default config, without
adding / removing anything):
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

Notice that they are all marked as 'm' excepting
CONFIG_VIDEO_CX88_MPEG, which is marked as 'y'. I don't know if it's
relevant or not, but the fact is that the module was not being
compiled at all. The option was not visible inside menuconfig, by the
way.

I've done some changes inside Kconfig to make it visible in
menuconfig, and by doing this I've been able to set it to 'm' and
rebuild, which has just worked apparently.

This Kconfig file was edited in revisions 10190 & 10191, precisely for
reasons related to cx8802 dependencies, so I'm not sure the solution
taken there was the right one.

Best regards,
  Eduard Huguet

_______________________________________________
linux-dvb users mailing list
For V4L/DVB development, please use instead linux-media@vger.kernel.org
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

^ permalink raw reply	[flat|nested] 19+ messages in thread

* cx8802.ko module not being built with current HG tree
  2009-02-05 15:54 [linux-dvb] cx8802.ko module not being built with current HG tree Eduard Huguet
@ 2009-02-05 15:59 ` Eduard Huguet
  2009-02-05 18:33   ` Trent Piepho
  2009-02-10 11:37   ` Mauro Carvalho Chehab
  0 siblings, 2 replies; 19+ messages in thread
From: Eduard Huguet @ 2009-02-05 15:59 UTC (permalink / raw)
  To: linux-media

Hi,
  Maybe I'm wrong, but I think there is something wrong in current
Kconfig file for cx88 drivers. I've been struggling for some hours
trying to find why, after compiling a fresh copy of the LinuxTV HG
drivers, I wasn't unable to modprobe cx88-dvb module, which I need for
HVR-3000.

The module was not being load because kernel was failing to find
cx8802_get_driver, etc... entry points, which are exported by
cx88-mpeg.c.

The strange part is that, according to the cx88/Kconfig file this file
should be automatically added as dependency if either CX88_DVB or
CX88_BLACKBIRD were selected,
but for some strange reason it wasn't.

After a 'make menuconfig' in HG tree the kernel configuration
contained these lines (this was using the default config, without
adding / removing anything):
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

Notice that they are all marked as 'm' excepting
CONFIG_VIDEO_CX88_MPEG, which is marked as 'y'. I don't know if it's
relevant or not, but the fact is that the module was not being
compiled at all. The option was not visible inside menuconfig, by the
way.

I've done some changes inside Kconfig to make it visible in
menuconfig, and by doing this I've been able to set it to 'm' and
rebuild, which has just worked apparently.

This Kconfig file was edited in revisions 10190 & 10191, precisely for
reasons related to cx8802 dependencies, so I'm not sure the solution
taken there was the right one.

Best regards,
 Eduard Huguet

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: cx8802.ko module not being built with current HG tree
  2009-02-05 15:59 ` Eduard Huguet
@ 2009-02-05 18:33   ` Trent Piepho
  2009-02-05 19:04     ` Eduard Huguet
  2009-02-10 11:37   ` Mauro Carvalho Chehab
  1 sibling, 1 reply; 19+ messages in thread
From: Trent Piepho @ 2009-02-05 18:33 UTC (permalink / raw)
  To: Eduard Huguet; +Cc: linux-media

On Thu, 5 Feb 2009, Eduard Huguet wrote:
> The module was not being load because kernel was failing to find
> cx8802_get_driver, etc... entry points, which are exported by
> cx88-mpeg.c.
>
> After a 'make menuconfig' in HG tree the kernel configuration
> contained these lines (this was using the default config, without
> adding / removing anything):
> 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

The problem is that CX88_MPEG is y; it should be m.  The kconfig system is
strange in the way it handles "hidden" entries.  In the Kconfig file, MPEG
depends on DVB, so having MPEG at 'y' which is higher than DVB at 'm'
shouldn't be allowed.  And indeed if you unhide DVB it won't be.  But when
it's hidden the "default y" overrides the dependencies.

The dependencies here are backward though!  It is DVB and BLACKBIRD that
depend on MPEG.  MPEG depends on CX88.

The right way to do it either to make MPEG visible and give it the right
dependencies, or keep it hidden and have DVB and BLACKBIRD select it.

Like this:
diff -r ed3955855d78 linux/drivers/media/video/cx88/Kconfig
--- a/linux/drivers/media/video/cx88/Kconfig    Thu Feb 05 09:58:48 2009 -0800
+++ b/linux/drivers/media/video/cx88/Kconfig    Thu Feb 05 10:27:41 2009 -0800
@@ -31,9 +31,17 @@ config VIDEO_CX88_ALSA
          To compile this driver as a module, choose M here: the
          module will be called cx88-alsa.

+config VIDEO_CX88_MPEG
+       tristate
+       depends on VIDEO_CX88
+       select VIDEO_BTCX
+       select VIDEOBUF_DMA_SG
+       default n
+
 config VIDEO_CX88_BLACKBIRD
        tristate "Blackbird MPEG encoder support (cx2388x + cx23416)"
        depends on VIDEO_CX88
+       select VIDEO_CX88_MPEG
        select VIDEO_CX2341X
        ---help---
          This adds support for MPEG encoder cards based on the
@@ -46,6 +54,7 @@ config VIDEO_CX88_DVB
 config VIDEO_CX88_DVB
        tristate "DVB/ATSC Support for cx2388x based TV cards"
        depends on VIDEO_CX88 && DVB_CORE
+       select VIDEO_CX88_MPEG
        select VIDEOBUF_DVB
        select DVB_PLL if !DVB_FE_CUSTOMISE
        select DVB_MT352 if !DVB_FE_CUSTOMISE
@@ -69,11 +78,6 @@ config VIDEO_CX88_DVB
          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


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: cx8802.ko module not being built with current HG tree
  2009-02-05 18:33   ` Trent Piepho
@ 2009-02-05 19:04     ` Eduard Huguet
  0 siblings, 0 replies; 19+ messages in thread
From: Eduard Huguet @ 2009-02-05 19:04 UTC (permalink / raw)
  To: Trent Piepho; +Cc: linux-media

A Dijous, 5 de febrer de 2009 19:33:21, Trent Piepho va escriure:
> On Thu, 5 Feb 2009, Eduard Huguet wrote:
> > The module was not being load because kernel was failing to find
> > cx8802_get_driver, etc... entry points, which are exported by
> > cx88-mpeg.c.
> >
> > After a 'make menuconfig' in HG tree the kernel configuration
> > contained these lines (this was using the default config, without
> > adding / removing anything):
> > 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
>
> The problem is that CX88_MPEG is y; it should be m.  The kconfig system is
> strange in the way it handles "hidden" entries.  In the Kconfig file, MPEG
> depends on DVB, so having MPEG at 'y' which is higher than DVB at 'm'
> shouldn't be allowed.  And indeed if you unhide DVB it won't be.  But when
> it's hidden the "default y" overrides the dependencies.
>
> The dependencies here are backward though!  It is DVB and BLACKBIRD that
> depend on MPEG.  MPEG depends on CX88.
>
> The right way to do it either to make MPEG visible and give it the right
> dependencies, or keep it hidden and have DVB and BLACKBIRD select it.
>
> Like this:
> diff -r ed3955855d78 linux/drivers/media/video/cx88/Kconfig
> --- a/linux/drivers/media/video/cx88/Kconfig    Thu Feb 05 09:58:48 2009
> -0800 +++ b/linux/drivers/media/video/cx88/Kconfig    Thu Feb 05 10:27:41
> 2009 -0800 @@ -31,9 +31,17 @@ config VIDEO_CX88_ALSA
>           To compile this driver as a module, choose M here: the
>           module will be called cx88-alsa.
>
> +config VIDEO_CX88_MPEG
> +       tristate
> +       depends on VIDEO_CX88
> +       select VIDEO_BTCX
> +       select VIDEOBUF_DMA_SG
> +       default n
> +
>  config VIDEO_CX88_BLACKBIRD
>         tristate "Blackbird MPEG encoder support (cx2388x + cx23416)"
>         depends on VIDEO_CX88
> +       select VIDEO_CX88_MPEG
>         select VIDEO_CX2341X
>         ---help---
>           This adds support for MPEG encoder cards based on the
> @@ -46,6 +54,7 @@ config VIDEO_CX88_DVB
>  config VIDEO_CX88_DVB
>         tristate "DVB/ATSC Support for cx2388x based TV cards"
>         depends on VIDEO_CX88 && DVB_CORE
> +       select VIDEO_CX88_MPEG
>         select VIDEOBUF_DVB
>         select DVB_PLL if !DVB_FE_CUSTOMISE
>         select DVB_MT352 if !DVB_FE_CUSTOMISE
> @@ -69,11 +78,6 @@ config VIDEO_CX88_DVB
>           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

This is what I thought. I managed to compile the drivers by hacking Kconfig, 
so this makes sense.

Thanks for your quick patch, I hope it's included into the main tree ASAP as 
the CX88-DVB driver is widely used, and it's unusable right now unless you do 
the proper hacking.

Regards, 
  Eduard Huguet



^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: cx8802.ko module not being built with current HG tree
  2009-02-05 15:59 ` Eduard Huguet
  2009-02-05 18:33   ` Trent Piepho
@ 2009-02-10 11:37   ` Mauro Carvalho Chehab
  2009-02-10 11:49     ` Eduard Huguet
  2009-02-10 11:57     ` Eduard Huguet
  1 sibling, 2 replies; 19+ messages in thread
From: Mauro Carvalho Chehab @ 2009-02-10 11:37 UTC (permalink / raw)
  To: Eduard Huguet; +Cc: linux-media

[-- Attachment #1: Type: text/plain, Size: 2870 bytes --]

On Thu, 5 Feb 2009 16:59:16 +0100
Eduard Huguet <eduardhc@gmail.com> wrote:

> Hi,
>   Maybe I'm wrong, but I think there is something wrong in current
> Kconfig file for cx88 drivers. I've been struggling for some hours
> trying to find why, after compiling a fresh copy of the LinuxTV HG
> drivers, I wasn't unable to modprobe cx88-dvb module, which I need for
> HVR-3000.
> 
> The module was not being load because kernel was failing to find
> cx8802_get_driver, etc... entry points, which are exported by
> cx88-mpeg.c.
> 
> The strange part is that, according to the cx88/Kconfig file this file
> should be automatically added as dependency if either CX88_DVB or
> CX88_BLACKBIRD were selected,
> but for some strange reason it wasn't.
> 
> After a 'make menuconfig' in HG tree the kernel configuration
> contained these lines (this was using the default config, without
> adding / removing anything):
> 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
> 
> Notice that they are all marked as 'm' excepting
> CONFIG_VIDEO_CX88_MPEG, which is marked as 'y'. I don't know if it's
> relevant or not, but the fact is that the module was not being
> compiled at all. The option was not visible inside menuconfig, by the
> way.
> 
> I've done some changes inside Kconfig to make it visible in
> menuconfig, and by doing this I've been able to set it to 'm' and
> rebuild, which has just worked apparently.
> 
> This Kconfig file was edited in revisions 10190 & 10191, precisely for
> reasons related to cx8802 dependencies, so I'm not sure the solution
> taken there was the right one.
> 
> Best regards,
>  Eduard Huguet

Eduard,

I suspect that this is some bug on the out-of-tree build. In order to test it,
I've tried to reproduce what I think you did.

So, I ran the following procedures over the devel branch on my -git tree:

make allmodconfig (to select everything as 'm')
I manually unselect all drivers at the tree, keeping only CX88 and submodules.
All CX88 submodules as "M".

I've repeated the procedure, this time starting with make allyesconfig.

On both cases, I got those configs:

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

My -git tree were updated up to this changeset:

commit 67e70baf043cfdcdaf5972bc94be82632071536b
Author: Devin Heitmueller <dheitmueller@linuxtv.org>
Date:   Mon Jan 26 03:07:59 2009 -0300

    V4L/DVB (10411): s5h1409: Perform s5h1409 soft reset after tuning


I tried also reproduce the bug you've mentioned at the v4l-dvb tree, but
unfortunately, I couldn't (the .config file is attached). I got exactly the
same result as compiling in-kernel.

Could you please send us your buggy .config?

Cheers,
Mauro

[-- Attachment #2: v4l_config --]
[-- Type: application/octet-stream, Size: 3839 bytes --]

#
# Automatically generated make config: don't edit
# Linux kernel version: KERNELVERSION
# Tue Feb 10 09:32:26 2009
#
CONFIG_INPUT=y
CONFIG_USB=y
CONFIG_PARPORT=m
# CONFIG_Avoids is not set
# CONFIG_due is not set
# CONFIG_SPARC64 is not set
# CONFIG_of is not set
# CONFIG_M is not set
# CONFIG_PLAT_M32700UT is not set
CONFIG_NET=y
CONFIG_FB_CFB_COPYAREA=y
# CONFIG_GENERIC_GPIO is not set
# CONFIG_SOUND_PRIME is not set
CONFIG_SND_AC97_CODEC=m
# CONFIG_PXA27x is not set
# CONFIG_dependencies is not set
# CONFIG_SGI_IP22 is not set
CONFIG_I2C=m
CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_GPIO_PCA953X is not set
CONFIG_STANDALONE=y
# CONFIG_HAVE_CLK is not set
CONFIG_SND_MPU401_UART=m
CONFIG_SND=m
# CONFIG_Y is not set
CONFIG_MODULES=y
CONFIG_SND_OPL3_LIB=m
CONFIG_HAS_IOMEM=y
# CONFIG_ARCH_OMAP2 is not set
CONFIG_PROC_FS=y
# CONFIG_SPARC32 is not set
# CONFIG_VIDEO_SAA7115 is not set
CONFIG_I2C_ALGOBIT=m
# CONFIG_DVB_FE_CUSTOMIZE is not set
# CONFIG_IR is not set
# CONFIG_to is not set
# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
CONFIG_HAS_DMA=y
# CONFIG_pvrusb is not set
CONFIG_INET=y
CONFIG_CRC32=y
CONFIG_FB=y
CONFIG_SYSFS=y
# CONFIG_DVB is not set
# CONFIG_ISA is not set
CONFIG_PCI=y
CONFIG_SONY_LAPTOP=m
CONFIG_SND_PCM=m
CONFIG_PARPORT_1284=y
CONFIG_EXPERIMENTAL=y
# CONFIG_M32R is not set
# CONFIG_I2C_ALGO_SGI is not set
CONFIG_FB_CFB_FILLRECT=y
CONFIG_VIRT_TO_BUS=y
# CONFIG_VIDEO_KERNEL_VERSION is not set

#
# Multimedia devices
#

#
# Multimedia core support
#
CONFIG_VIDEO_DEV=y
CONFIG_VIDEO_V4L2_COMMON=m
CONFIG_VIDEO_ALLOW_V4L1=y
CONFIG_VIDEO_V4L1_COMPAT=y
CONFIG_DVB_CORE=y
CONFIG_VIDEO_MEDIA=y

#
# Multimedia drivers
#
CONFIG_MEDIA_ATTACH=y
CONFIG_MEDIA_TUNER=m
# CONFIG_MEDIA_TUNER_CUSTOMIZE is not set
CONFIG_MEDIA_TUNER_SIMPLE=m
CONFIG_MEDIA_TUNER_TDA8290=m
CONFIG_MEDIA_TUNER_TDA9887=m
CONFIG_MEDIA_TUNER_TEA5761=m
CONFIG_MEDIA_TUNER_TEA5767=m
CONFIG_MEDIA_TUNER_MT20XX=m
CONFIG_MEDIA_TUNER_XC2028=m
CONFIG_MEDIA_TUNER_XC5000=m
CONFIG_MEDIA_TUNER_MC44S803=m
CONFIG_VIDEO_V4L2=m
CONFIG_VIDEO_V4L1=m
CONFIG_VIDEOBUF_GEN=m
CONFIG_VIDEOBUF_DMA_SG=m
CONFIG_VIDEOBUF_DVB=m
CONFIG_VIDEO_BTCX=m
CONFIG_VIDEO_IR=m
CONFIG_VIDEO_TVEEPROM=m
CONFIG_VIDEO_TUNER=m
CONFIG_VIDEO_CAPTURE_DRIVERS=y
CONFIG_VIDEO_ADV_DEBUG=y
# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
CONFIG_VIDEO_IR_I2C=m
CONFIG_VIDEO_WM8775=m
CONFIG_VIDEO_CX2341X=m
# CONFIG_VIDEO_VIVI is not set
# CONFIG_VIDEO_BT848 is not set
# CONFIG_VIDEO_BWQCAM is not set
# CONFIG_VIDEO_CQCAM is not set
# CONFIG_VIDEO_W9966 is not set
# CONFIG_VIDEO_CPIA is not set
# CONFIG_VIDEO_CPIA2 is not set
# CONFIG_VIDEO_SAA5246A is not set
# CONFIG_VIDEO_SAA5249 is not set
# CONFIG_VIDEO_STRADIS is not set
# CONFIG_VIDEO_ZORAN is not set
# CONFIG_VIDEO_MEYE is not set
# CONFIG_VIDEO_SAA7134 is not set
# CONFIG_VIDEO_MXB is not set
# CONFIG_VIDEO_HEXIUM_ORION is not set
# CONFIG_VIDEO_HEXIUM_GEMINI is not set
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
# CONFIG_VIDEO_CX23885 is not set
# CONFIG_VIDEO_AU0828 is not set
# CONFIG_VIDEO_IVTV is not set
# CONFIG_VIDEO_CX18 is not set
# CONFIG_VIDEO_CAFE_CCIC is not set
# CONFIG_SOC_CAMERA is not set
# CONFIG_V4L_USB_DRIVERS is not set
# CONFIG_RADIO_ADAPTERS is not set
# CONFIG_DVB_DYNAMIC_MINORS is not set
# CONFIG_DVB_CAPTURE_DRIVERS is not set
CONFIG_DVB_CX24123=m
CONFIG_DVB_STV0288=m
CONFIG_DVB_STB6000=m
CONFIG_DVB_STV0299=m
CONFIG_DVB_CX24116=m
CONFIG_DVB_CX22702=m
CONFIG_DVB_MT352=m
CONFIG_DVB_ZL10353=m
CONFIG_DVB_NXT200X=m
CONFIG_DVB_OR51132=m
CONFIG_DVB_LGDT330X=m
CONFIG_DVB_S5H1411=m
CONFIG_DVB_PLL=m
CONFIG_DVB_ISL6421=m
# CONFIG_DAB is not set

#
# Audio devices for multimedia
#

#
# ALSA sound
#
CONFIG_SND_BT87X=m
CONFIG_SND_BT87X_OVERCLOCK=y

#
# OSS sound
#

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: cx8802.ko module not being built with current HG tree
  2009-02-10 11:37   ` Mauro Carvalho Chehab
@ 2009-02-10 11:49     ` Eduard Huguet
  2009-02-10 18:25       ` Trent Piepho
  2009-02-10 11:57     ` Eduard Huguet
  1 sibling, 1 reply; 19+ messages in thread
From: Eduard Huguet @ 2009-02-10 11:49 UTC (permalink / raw)
  To: Mauro Carvalho Chehab; +Cc: linux-media

Hi,
    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
          (I mostly uncheck here most of the modules, as I really was
needing only to compile the support for Nova-T 500 and an HVR-3000. I
just leave "as is" (checked as M by default) all the SAA7134 and
derived options).
        · make && make install

Best regards,
  Eduard

PS: I suspect that "make allmodconfig" (which I didn't even  know it
existed...) makes a difference here, because it will mark CX88_MPEG as
'M', if I understand it well. I wasn't using it, so maybe this
explains why the option was hiddenly marked as 'Y' instead of 'M'.





2009/2/10 Mauro Carvalho Chehab <mchehab@infradead.org>:
> On Thu, 5 Feb 2009 16:59:16 +0100
> Eduard Huguet <eduardhc@gmail.com> wrote:
>
>> Hi,
>>   Maybe I'm wrong, but I think there is something wrong in current
>> Kconfig file for cx88 drivers. I've been struggling for some hours
>> trying to find why, after compiling a fresh copy of the LinuxTV HG
>> drivers, I wasn't unable to modprobe cx88-dvb module, which I need for
>> HVR-3000.
>>
>> The module was not being load because kernel was failing to find
>> cx8802_get_driver, etc... entry points, which are exported by
>> cx88-mpeg.c.
>>
>> The strange part is that, according to the cx88/Kconfig file this file
>> should be automatically added as dependency if either CX88_DVB or
>> CX88_BLACKBIRD were selected,
>> but for some strange reason it wasn't.
>>
>> After a 'make menuconfig' in HG tree the kernel configuration
>> contained these lines (this was using the default config, without
>> adding / removing anything):
>> 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
>>
>> Notice that they are all marked as 'm' excepting
>> CONFIG_VIDEO_CX88_MPEG, which is marked as 'y'. I don't know if it's
>> relevant or not, but the fact is that the module was not being
>> compiled at all. The option was not visible inside menuconfig, by the
>> way.
>>
>> I've done some changes inside Kconfig to make it visible in
>> menuconfig, and by doing this I've been able to set it to 'm' and
>> rebuild, which has just worked apparently.
>>
>> This Kconfig file was edited in revisions 10190 & 10191, precisely for
>> reasons related to cx8802 dependencies, so I'm not sure the solution
>> taken there was the right one.
>>
>> Best regards,
>>  Eduard Huguet
>
> Eduard,
>
> I suspect that this is some bug on the out-of-tree build. In order to test it,
> I've tried to reproduce what I think you did.
>
> So, I ran the following procedures over the devel branch on my -git tree:
>
> make allmodconfig (to select everything as 'm')
> I manually unselect all drivers at the tree, keeping only CX88 and submodules.
> All CX88 submodules as "M".
>
> I've repeated the procedure, this time starting with make allyesconfig.
>
> On both cases, I got those configs:
>
> 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
>
> My -git tree were updated up to this changeset:
>
> commit 67e70baf043cfdcdaf5972bc94be82632071536b
> Author: Devin Heitmueller <dheitmueller@linuxtv.org>
> Date:   Mon Jan 26 03:07:59 2009 -0300
>
>    V4L/DVB (10411): s5h1409: Perform s5h1409 soft reset after tuning
>
>
> I tried also reproduce the bug you've mentioned at the v4l-dvb tree, but
> unfortunately, I couldn't (the .config file is attached). I got exactly the
> same result as compiling in-kernel.
>
> Could you please send us your buggy .config?
>
> Cheers,
> Mauro
>

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: cx8802.ko module not being built with current HG tree
  2009-02-10 11:37   ` Mauro Carvalho Chehab
  2009-02-10 11:49     ` Eduard Huguet
@ 2009-02-10 11:57     ` Eduard Huguet
  2009-02-10 12:09       ` Mauro Carvalho Chehab
  1 sibling, 1 reply; 19+ messages in thread
From: Eduard Huguet @ 2009-02-10 11:57 UTC (permalink / raw)
  To: Mauro Carvalho Chehab; +Cc: linux-media

[-- Attachment #1: Type: text/plain, Size: 3869 bytes --]

Hi,
    Just tried it right now, with these simple steps:

      · hg clone http://linuxtv.org/hg/v4l-dvb
      · cd v4l-dvb
      · make menuconfig & exit from it without touching anything

I attach the resulting v4l/.config file generated. As you can see,
CX88_MPEG is being marked as 'Y' instead that 'M':

$ 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

I'm compiling against Ubuntu kernel 2.6.22, which I know it's pretty
old. Can this make any difference?

Best regards,
  Eduard

PS: by the way, this works fine when using revision 10189,  just
before CX88 dependencies got altered.


2009/2/10 Mauro Carvalho Chehab <mchehab@infradead.org>:
> On Thu, 5 Feb 2009 16:59:16 +0100
> Eduard Huguet <eduardhc@gmail.com> wrote:
>
>> Hi,
>>   Maybe I'm wrong, but I think there is something wrong in current
>> Kconfig file for cx88 drivers. I've been struggling for some hours
>> trying to find why, after compiling a fresh copy of the LinuxTV HG
>> drivers, I wasn't unable to modprobe cx88-dvb module, which I need for
>> HVR-3000.
>>
>> The module was not being load because kernel was failing to find
>> cx8802_get_driver, etc... entry points, which are exported by
>> cx88-mpeg.c.
>>
>> The strange part is that, according to the cx88/Kconfig file this file
>> should be automatically added as dependency if either CX88_DVB or
>> CX88_BLACKBIRD were selected,
>> but for some strange reason it wasn't.
>>
>> After a 'make menuconfig' in HG tree the kernel configuration
>> contained these lines (this was using the default config, without
>> adding / removing anything):
>> 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
>>
>> Notice that they are all marked as 'm' excepting
>> CONFIG_VIDEO_CX88_MPEG, which is marked as 'y'. I don't know if it's
>> relevant or not, but the fact is that the module was not being
>> compiled at all. The option was not visible inside menuconfig, by the
>> way.
>>
>> I've done some changes inside Kconfig to make it visible in
>> menuconfig, and by doing this I've been able to set it to 'm' and
>> rebuild, which has just worked apparently.
>>
>> This Kconfig file was edited in revisions 10190 & 10191, precisely for
>> reasons related to cx8802 dependencies, so I'm not sure the solution
>> taken there was the right one.
>>
>> Best regards,
>>  Eduard Huguet
>
> Eduard,
>
> I suspect that this is some bug on the out-of-tree build. In order to test it,
> I've tried to reproduce what I think you did.
>
> So, I ran the following procedures over the devel branch on my -git tree:
>
> make allmodconfig (to select everything as 'm')
> I manually unselect all drivers at the tree, keeping only CX88 and submodules.
> All CX88 submodules as "M".
>
> I've repeated the procedure, this time starting with make allyesconfig.
>
> On both cases, I got those configs:
>
> 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
>
> My -git tree were updated up to this changeset:
>
> commit 67e70baf043cfdcdaf5972bc94be82632071536b
> Author: Devin Heitmueller <dheitmueller@linuxtv.org>
> Date:   Mon Jan 26 03:07:59 2009 -0300
>
>    V4L/DVB (10411): s5h1409: Perform s5h1409 soft reset after tuning
>
>
> I tried also reproduce the bug you've mentioned at the v4l-dvb tree, but
> unfortunately, I couldn't (the .config file is attached). I got exactly the
> same result as compiling in-kernel.
>
> Could you please send us your buggy .config?
>
> Cheers,
> Mauro
>

[-- Attachment #2: .config --]
[-- Type: application/octet-stream, Size: 9698 bytes --]

#
# Automatically generated make config: don't edit
# Linux kernel version: 
# Tue Feb 10 12:52:01 2009
#
CONFIG_INPUT=y
CONFIG_USB=m
CONFIG_PARPORT=m
# CONFIG_Avoids is not set
# CONFIG_due is not set
# CONFIG_SPARC64 is not set
# CONFIG_of is not set
# CONFIG_M is not set
# CONFIG_PLAT_M32700UT is not set
CONFIG_NET=y
CONFIG_FB_CFB_COPYAREA=m
# CONFIG_GENERIC_GPIO is not set
CONFIG_SOUND_PRIME=m
CONFIG_SND_AC97_CODEC=m
# CONFIG_PXA27x is not set
# CONFIG_dependencies is not set
# CONFIG_SGI_IP22 is not set
CONFIG_I2C=m
CONFIG_FB_CFB_IMAGEBLIT=m
# CONFIG_GPIO_PCA953X is not set
CONFIG_STANDALONE=y
# CONFIG_HAVE_CLK is not set
CONFIG_SND_MPU401_UART=m
CONFIG_SND=m
# CONFIG_Y is not set
CONFIG_MODULES=y
CONFIG_SND_OPL3_LIB=m
CONFIG_HAS_IOMEM=y
# CONFIG_ARCH_OMAP2 is not set
CONFIG_PROC_FS=y
# CONFIG_SPARC32 is not set
# CONFIG_VIDEO_SAA7115 is not set
CONFIG_I2C_ALGOBIT=m
# CONFIG_DVB_FE_CUSTOMIZE is not set
# CONFIG_IR is not set
# CONFIG_to is not set
# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
CONFIG_HAS_DMA=y
# CONFIG_pvrusb is not set
CONFIG_INET=y
CONFIG_CRC32=m
CONFIG_FB=y
CONFIG_SYSFS=y
# CONFIG_DVB is not set
CONFIG_ISA=y
CONFIG_PCI=y
CONFIG_SONY_LAPTOP=m
CONFIG_SND_PCM=m
CONFIG_PARPORT_1284=y
CONFIG_EXPERIMENTAL=y
# CONFIG_M32R is not set
# CONFIG_I2C_ALGO_SGI is not set
CONFIG_FB_CFB_FILLRECT=m
CONFIG_VIRT_TO_BUS=y
# CONFIG_VIDEO_KERNEL_VERSION is not set

#
# Multimedia devices
#

#
# Multimedia core support
#
CONFIG_VIDEO_DEV=m
CONFIG_VIDEO_V4L2_COMMON=m
CONFIG_VIDEO_ALLOW_V4L1=y
CONFIG_VIDEO_V4L1_COMPAT=y
CONFIG_DVB_CORE=m
CONFIG_VIDEO_MEDIA=m

#
# Multimedia drivers
#
CONFIG_VIDEO_SAA7146=m
CONFIG_VIDEO_SAA7146_VV=m
CONFIG_MEDIA_ATTACH=y
CONFIG_MEDIA_TUNER=m
CONFIG_MEDIA_TUNER_CUSTOMIZE=y
CONFIG_MEDIA_TUNER_SIMPLE=m
CONFIG_MEDIA_TUNER_TDA8290=m
CONFIG_MEDIA_TUNER_TDA827X=m
CONFIG_MEDIA_TUNER_TDA18271=m
CONFIG_MEDIA_TUNER_TDA9887=m
CONFIG_MEDIA_TUNER_TEA5761=m
CONFIG_MEDIA_TUNER_TEA5767=m
CONFIG_MEDIA_TUNER_MT20XX=m
CONFIG_MEDIA_TUNER_MT2060=m
CONFIG_MEDIA_TUNER_MT2266=m
CONFIG_MEDIA_TUNER_MT2131=m
CONFIG_MEDIA_TUNER_QT1010=m
CONFIG_MEDIA_TUNER_XC2028=m
CONFIG_MEDIA_TUNER_XC5000=m
CONFIG_MEDIA_TUNER_MXL5005S=m
CONFIG_MEDIA_TUNER_MXL5007T=m
CONFIG_MEDIA_TUNER_MC44S803=m
CONFIG_VIDEO_V4L2=m
CONFIG_VIDEO_V4L1=m
CONFIG_VIDEOBUF_GEN=m
CONFIG_VIDEOBUF_DMA_SG=m
CONFIG_VIDEOBUF_VMALLOC=m
CONFIG_VIDEOBUF_DVB=m
CONFIG_VIDEO_BTCX=m
CONFIG_VIDEO_IR=m
CONFIG_VIDEO_TVEEPROM=m
CONFIG_VIDEO_TUNER=m
CONFIG_VIDEO_CAPTURE_DRIVERS=y
CONFIG_VIDEO_ADV_DEBUG=y
# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set
CONFIG_VIDEO_IR_I2C=m

#
# Encoders/decoders and other helper chips
#

#
# Audio decoders
#
CONFIG_VIDEO_TVAUDIO=m
CONFIG_VIDEO_TDA7432=m
CONFIG_VIDEO_TDA9840=m
CONFIG_VIDEO_TDA9875=m
CONFIG_VIDEO_TEA6415C=m
CONFIG_VIDEO_TEA6420=m
CONFIG_VIDEO_MSP3400=m
CONFIG_VIDEO_CS5345=m
CONFIG_VIDEO_CS53L32A=m
CONFIG_VIDEO_M52790=m
CONFIG_VIDEO_TLV320AIC23B=m
CONFIG_VIDEO_WM8775=m
CONFIG_VIDEO_WM8739=m
CONFIG_VIDEO_VP27SMPX=m

#
# Video decoders
#
CONFIG_VIDEO_BT819=m
CONFIG_VIDEO_BT856=m
CONFIG_VIDEO_BT866=m
CONFIG_VIDEO_KS0127=m
CONFIG_VIDEO_OV7670=m
CONFIG_VIDEO_TCM825X=m
CONFIG_VIDEO_SAA7110=m
CONFIG_VIDEO_SAA7111=m
CONFIG_VIDEO_SAA7114=m
CONFIG_VIDEO_SAA711X=m
CONFIG_VIDEO_SAA717X=m
CONFIG_VIDEO_SAA7191=m
CONFIG_VIDEO_TVP5150=m
CONFIG_VIDEO_VPX3220=m

#
# Video and audio decoders
#
CONFIG_VIDEO_CX25840=m

#
# MPEG video encoders
#
CONFIG_VIDEO_CX2341X=m

#
# Video encoders
#
CONFIG_VIDEO_SAA7127=m
CONFIG_VIDEO_SAA7185=m
CONFIG_VIDEO_ADV7170=m
CONFIG_VIDEO_ADV7175=m

#
# Video improvement chips
#
CONFIG_VIDEO_UPD64031A=m
CONFIG_VIDEO_UPD64083=m
CONFIG_VIDEO_VIVI=m
CONFIG_VIDEO_BT848=m
CONFIG_VIDEO_BT848_DVB=y
CONFIG_VIDEO_SAA6588=m
CONFIG_VIDEO_PMS=m
CONFIG_VIDEO_BWQCAM=m
CONFIG_VIDEO_CQCAM=m
CONFIG_VIDEO_W9966=m
CONFIG_VIDEO_CPIA=m
CONFIG_VIDEO_CPIA_PP=m
CONFIG_VIDEO_CPIA_USB=m
CONFIG_VIDEO_CPIA2=m
CONFIG_VIDEO_SAA5246A=m
CONFIG_VIDEO_SAA5249=m
CONFIG_VIDEO_STRADIS=m
CONFIG_VIDEO_ZORAN=m
CONFIG_VIDEO_ZORAN_DC30=m
CONFIG_VIDEO_ZORAN_ZR36060=m
CONFIG_VIDEO_ZORAN_BUZ=m
CONFIG_VIDEO_ZORAN_DC10=m
CONFIG_VIDEO_ZORAN_LML33=m
CONFIG_VIDEO_ZORAN_LML33R10=m
CONFIG_VIDEO_ZORAN_AVS6EYES=m
CONFIG_VIDEO_MEYE=m
CONFIG_VIDEO_SAA7134=m
CONFIG_VIDEO_SAA7134_ALSA=m
CONFIG_VIDEO_SAA7134_DVB=m
CONFIG_VIDEO_MXB=m
CONFIG_VIDEO_HEXIUM_ORION=m
CONFIG_VIDEO_HEXIUM_GEMINI=m
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
CONFIG_VIDEO_CX23885=m
CONFIG_VIDEO_AU0828=m
CONFIG_VIDEO_IVTV=m
CONFIG_VIDEO_FB_IVTV=m
CONFIG_VIDEO_CX18=m
CONFIG_VIDEO_CAFE_CCIC=m
CONFIG_V4L_USB_DRIVERS=y
CONFIG_USB_VIDEO_CLASS=m
CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
CONFIG_USB_GSPCA=m
CONFIG_USB_M5602=m
CONFIG_USB_GSPCA_CONEX=m
CONFIG_USB_GSPCA_ETOMS=m
CONFIG_USB_GSPCA_FINEPIX=m
CONFIG_USB_GSPCA_MARS=m
CONFIG_USB_GSPCA_MR97310A=m
CONFIG_USB_GSPCA_OV519=m
CONFIG_USB_GSPCA_OV534=m
CONFIG_USB_GSPCA_PAC207=m
CONFIG_USB_GSPCA_PAC7311=m
CONFIG_USB_GSPCA_SONIXB=m
CONFIG_USB_GSPCA_SONIXJ=m
CONFIG_USB_GSPCA_SPCA500=m
CONFIG_USB_GSPCA_SPCA501=m
CONFIG_USB_GSPCA_SPCA505=m
CONFIG_USB_GSPCA_SPCA506=m
CONFIG_USB_GSPCA_SPCA508=m
CONFIG_USB_GSPCA_SPCA561=m
CONFIG_USB_GSPCA_STK014=m
CONFIG_USB_GSPCA_SUNPLUS=m
CONFIG_USB_GSPCA_T613=m
CONFIG_USB_GSPCA_TV8532=m
CONFIG_USB_GSPCA_VC032X=m
CONFIG_USB_GSPCA_ZC3XX=m
CONFIG_VIDEO_PVRUSB2=m
CONFIG_VIDEO_PVRUSB2_SYSFS=y
CONFIG_VIDEO_PVRUSB2_DVB=y
CONFIG_VIDEO_PVRUSB2_DEBUGIFC=y
CONFIG_VIDEO_EM28XX=m
CONFIG_VIDEO_EM28XX_ALSA=m
CONFIG_VIDEO_EM28XX_DVB=m
CONFIG_VIDEO_USBVISION=m
CONFIG_VIDEO_USBVIDEO=m
CONFIG_USB_VICAM=m
CONFIG_USB_IBMCAM=m
CONFIG_USB_KONICAWC=m
CONFIG_USB_QUICKCAM_MESSENGER=m
CONFIG_USB_ET61X251=m
CONFIG_VIDEO_OVCAMCHIP=m
CONFIG_USB_W9968CF=m
CONFIG_USB_OV511=m
CONFIG_USB_SE401=m
CONFIG_USB_SN9C102=m
CONFIG_USB_STV680=m
CONFIG_USB_ZC0301=m
CONFIG_USB_PWC=m
CONFIG_USB_PWC_DEBUG=y
CONFIG_USB_PWC_INPUT_EVDEV=y
CONFIG_USB_ZR364XX=m
CONFIG_USB_STKWEBCAM=m
CONFIG_USB_S2255=m
CONFIG_RADIO_ADAPTERS=y
CONFIG_RADIO_CADET=m
CONFIG_RADIO_RTRACK=m
CONFIG_RADIO_RTRACK2=m
CONFIG_RADIO_AZTECH=m
CONFIG_RADIO_GEMTEK=m
CONFIG_RADIO_GEMTEK_PCI=m
CONFIG_RADIO_MAXIRADIO=m
CONFIG_RADIO_MAESTRO=m
CONFIG_RADIO_SF16FMI=m
CONFIG_RADIO_SF16FMR2=m
CONFIG_RADIO_TERRATEC=m
CONFIG_RADIO_TRUST=m
CONFIG_RADIO_TYPHOON=m
CONFIG_RADIO_TYPHOON_PROC_FS=y
CONFIG_RADIO_ZOLTRIX=m
CONFIG_USB_DSBR=m
CONFIG_USB_SI470X=m
CONFIG_USB_MR800=m
CONFIG_DVB_DYNAMIC_MINORS=y
CONFIG_DVB_CAPTURE_DRIVERS=y

#
# Supported SAA7146 based PCI Adapters
#
CONFIG_TTPCI_EEPROM=m
CONFIG_DVB_AV7110=m
CONFIG_DVB_AV7110_OSD=y
CONFIG_DVB_BUDGET_CORE=m
CONFIG_DVB_BUDGET=m
CONFIG_DVB_BUDGET_CI=m
CONFIG_DVB_BUDGET_AV=m
CONFIG_DVB_BUDGET_PATCH=m

#
# Supported USB Adapters
#
CONFIG_DVB_USB=m
CONFIG_DVB_USB_DEBUG=y
CONFIG_DVB_USB_A800=m
CONFIG_DVB_USB_DIBUSB_MB=m
CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y
CONFIG_DVB_USB_DIBUSB_MC=m
CONFIG_DVB_USB_DIB0700=m
CONFIG_DVB_USB_UMT_010=m
CONFIG_DVB_USB_CXUSB=m
CONFIG_DVB_USB_M920X=m
CONFIG_DVB_USB_GL861=m
CONFIG_DVB_USB_AU6610=m
CONFIG_DVB_USB_DIGITV=m
CONFIG_DVB_USB_VP7045=m
CONFIG_DVB_USB_VP702X=m
CONFIG_DVB_USB_GP8PSK=m
CONFIG_DVB_USB_NOVA_T_USB2=m
CONFIG_DVB_USB_TTUSB2=m
CONFIG_DVB_USB_DTT200U=m
CONFIG_DVB_USB_OPERA1=m
CONFIG_DVB_USB_AF9005=m
CONFIG_DVB_USB_AF9005_REMOTE=m
CONFIG_DVB_USB_DW2102=m
CONFIG_DVB_USB_CINERGY_T2=m
CONFIG_DVB_USB_ANYSEE=m
CONFIG_DVB_USB_DTV5100=m
CONFIG_DVB_USB_AF9015=m
CONFIG_DVB_TTUSB_BUDGET=m
CONFIG_DVB_TTUSB_DEC=m
CONFIG_DVB_SIANO_SMS1XXX=m
CONFIG_DVB_SIANO_SMS1XXX_SMS_IDS=y

#
# Supported FlexCopII (B2C2) Adapters
#
CONFIG_DVB_B2C2_FLEXCOP=m
CONFIG_DVB_B2C2_FLEXCOP_PCI=m
CONFIG_DVB_B2C2_FLEXCOP_USB=m
CONFIG_DVB_B2C2_FLEXCOP_DEBUG=y

#
# Supported BT878 Adapters
#
CONFIG_DVB_BT8XX=m

#
# Supported Pluto2 Adapters
#
CONFIG_DVB_PLUTO2=m

#
# Supported SDMC DM1105 Adapters
#
CONFIG_DVB_DM1105=m

#
# Supported DVB Frontends
#

#
# Customise DVB Frontends
#
# CONFIG_DVB_FE_CUSTOMISE is not set

#
# Multistandard (satellite) frontends
#
CONFIG_DVB_STB0899=m
CONFIG_DVB_STB6100=m

#
# DVB-S (satellite) frontends
#
CONFIG_DVB_CX24110=m
CONFIG_DVB_CX24123=m
CONFIG_DVB_MT312=m
CONFIG_DVB_S5H1420=m
CONFIG_DVB_STV0288=m
CONFIG_DVB_STB6000=m
CONFIG_DVB_STV0299=m
CONFIG_DVB_TDA8083=m
CONFIG_DVB_TDA10086=m
CONFIG_DVB_TDA8261=m
CONFIG_DVB_VES1X93=m
CONFIG_DVB_TUNER_ITD1000=m
CONFIG_DVB_TUNER_CX24113=m
CONFIG_DVB_TDA826X=m
CONFIG_DVB_TUA6100=m
CONFIG_DVB_CX24116=m
CONFIG_DVB_SI21XX=m

#
# DVB-T (terrestrial) frontends
#
CONFIG_DVB_SP8870=m
CONFIG_DVB_SP887X=m
CONFIG_DVB_CX22700=m
CONFIG_DVB_CX22702=m
CONFIG_DVB_DRX397XD=m
CONFIG_DVB_L64781=m
CONFIG_DVB_TDA1004X=m
CONFIG_DVB_NXT6000=m
CONFIG_DVB_MT352=m
CONFIG_DVB_ZL10353=m
CONFIG_DVB_DIB3000MB=m
CONFIG_DVB_DIB3000MC=m
CONFIG_DVB_DIB7000M=m
CONFIG_DVB_DIB7000P=m
CONFIG_DVB_TDA10048=m

#
# DVB-C (cable) frontends
#
CONFIG_DVB_VES1820=m
CONFIG_DVB_TDA10021=m
CONFIG_DVB_TDA10023=m
CONFIG_DVB_STV0297=m

#
# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
#
CONFIG_DVB_NXT200X=m
CONFIG_DVB_OR51211=m
CONFIG_DVB_OR51132=m
CONFIG_DVB_BCM3510=m
CONFIG_DVB_LGDT330X=m
CONFIG_DVB_LGDT3304=m
CONFIG_DVB_S5H1409=m
CONFIG_DVB_AU8522=m
CONFIG_DVB_S5H1411=m

#
# ISDB-T (terrestrial) frontends
#
CONFIG_DVB_S921=m

#
# Digital terrestrial only tuners/PLL
#
CONFIG_DVB_PLL=m
CONFIG_DVB_TUNER_DIB0070=m

#
# SEC control devices for DVB-S
#
CONFIG_DVB_LNBP21=m
CONFIG_DVB_ISL6405=m
CONFIG_DVB_ISL6421=m
CONFIG_DVB_LGS8GL5=m

#
# Tools to develop new frontends
#
CONFIG_DVB_DUMMY_FE=m
CONFIG_DVB_AF9013=m
CONFIG_DAB=y
CONFIG_USB_DABUSB=m

#
# Audio devices for multimedia
#

#
# ALSA sound
#
CONFIG_SND_BT87X=m
CONFIG_SND_BT87X_OVERCLOCK=y

#
# OSS sound
#
CONFIG_SOUND_BT878=m
CONFIG_SOUND_TVMIXER=m

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: cx8802.ko module not being built with current HG tree
  2009-02-10 11:57     ` Eduard Huguet
@ 2009-02-10 12:09       ` Mauro Carvalho Chehab
  2009-02-10 12:29         ` Mauro Carvalho Chehab
  2009-02-10 12:39         ` Eduard Huguet
  0 siblings, 2 replies; 19+ messages in thread
From: Mauro Carvalho Chehab @ 2009-02-10 12:09 UTC (permalink / raw)
  To: Eduard Huguet; +Cc: linux-media

On Tue, 10 Feb 2009 12:57:47 +0100
Eduard Huguet <eduardhc@gmail.com> wrote:

> Hi,
>     Just tried it right now, with these simple steps:
> 
>       · hg clone http://linuxtv.org/hg/v4l-dvb
>       · cd v4l-dvb
>       · make menuconfig & exit from it without touching anything
> 
> I attach the resulting v4l/.config file generated. As you can see,
> CX88_MPEG is being marked as 'Y' instead that 'M':
> 
> $ 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

Weird. I 've applied your changeset and copied it at v4l/.config. Then, a make
menuconfig and exit, just to be sure that kernel build would touch on it.
Everything worked fine.

> I'm compiling against Ubuntu kernel 2.6.22, which I know it's pretty
> old. Can this make any difference?

I'm using here kernel 2.6.28.2. Maybe this is some bug on the Ubuntu's kernel
kbuild, since make *config options at the out-of-tree kernel is a wrapper to
the kernel kbuild.

Could you please try the same procedure with a newer kernel? There's no need to
install the kernel on your machine. All you need to do is something like:

wget <newer kernel like 2.6.28.4>
tar -xvfoj <kernel>
cd linux
make init

cd ~/v4l-dvb
make release DIR=<newer kernel patch>
make menuconfig

The "make release" will allow you to use the Kbuild of the newer kernel.

> 
> Best regards,
>   Eduard
> 
> PS: by the way, this works fine when using revision 10189,  just
> before CX88 dependencies got altered.

The problem is that the old Kconfig were causing breakages upstream.

Cheers,
Mauro

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: cx8802.ko module not being built with current HG tree
  2009-02-10 12:09       ` Mauro Carvalho Chehab
@ 2009-02-10 12:29         ` Mauro Carvalho Chehab
  2009-02-10 12:39         ` Eduard Huguet
  1 sibling, 0 replies; 19+ messages in thread
From: Mauro Carvalho Chehab @ 2009-02-10 12:29 UTC (permalink / raw)
  To: Mauro Carvalho Chehab; +Cc: Eduard Huguet, linux-media

On Tue, 10 Feb 2009 10:09:55 -0200
Mauro Carvalho Chehab <mchehab@infradead.org> wrote:

> On Tue, 10 Feb 2009 12:57:47 +0100
> Eduard Huguet <eduardhc@gmail.com> wrote:
> 
> > Hi,
> >     Just tried it right now, with these simple steps:
> > 
> >       · hg clone http://linuxtv.org/hg/v4l-dvb
> >       · cd v4l-dvb
> >       · make menuconfig & exit from it without touching anything
> > 
> > I attach the resulting v4l/.config file generated. As you can see,
> > CX88_MPEG is being marked as 'Y' instead that 'M':
> > 
> > $ 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
> 
> Weird. I 've applied your changeset and copied it at v4l/.config. Then, a make
> menuconfig and exit, just to be sure that kernel build would touch on it.
> Everything worked fine.
> 
> > I'm compiling against Ubuntu kernel 2.6.22, which I know it's pretty
> > old. Can this make any difference?
> 
> I'm using here kernel 2.6.28.2. Maybe this is some bug on the Ubuntu's kernel
> kbuild, since make *config options at the out-of-tree kernel is a wrapper to
> the kernel kbuild.
> 
> Could you please try the same procedure with a newer kernel? There's no need to
> install the kernel on your machine. All you need to do is something like:
> 
> wget <newer kernel like 2.6.28.4>
> tar -xvfoj <kernel>
> cd linux

Hmm.. you'll need to provide some .config to the downloaded kernel. You may do it my
running "make allyesconfig" or "make allmodconfig". Another approach would be
to run "make oldconfig", but, in the latter case, you would need to answer to
several questions (it is probably ok to just press enter to all questions).

> make init
> 
> cd ~/v4l-dvb
> make release DIR=<newer kernel patch>
> make menuconfig
> 
> The "make release" will allow you to use the Kbuild of the newer kernel.
> 
> > 
> > Best regards,
> >   Eduard
> > 
> > PS: by the way, this works fine when using revision 10189,  just
> > before CX88 dependencies got altered.
> 
> The problem is that the old Kconfig were causing breakages upstream.
> 
> Cheers,
> Mauro




Cheers,
Mauro

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: cx8802.ko module not being built with current HG tree
  2009-02-10 12:09       ` Mauro Carvalho Chehab
  2009-02-10 12:29         ` Mauro Carvalho Chehab
@ 2009-02-10 12:39         ` Eduard Huguet
  1 sibling, 0 replies; 19+ messages in thread
From: Eduard Huguet @ 2009-02-10 12:39 UTC (permalink / raw)
  To: Mauro Carvalho Chehab; +Cc: linux-media

I'll give it a try, thanks.
Regards,
  Eduard


2009/2/10 Mauro Carvalho Chehab <mchehab@infradead.org>:
> On Tue, 10 Feb 2009 12:57:47 +0100
> Eduard Huguet <eduardhc@gmail.com> wrote:
>
>> Hi,
>>     Just tried it right now, with these simple steps:
>>
>>       · hg clone http://linuxtv.org/hg/v4l-dvb
>>       · cd v4l-dvb
>>       · make menuconfig & exit from it without touching anything
>>
>> I attach the resulting v4l/.config file generated. As you can see,
>> CX88_MPEG is being marked as 'Y' instead that 'M':
>>
>> $ 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
>
> Weird. I 've applied your changeset and copied it at v4l/.config. Then, a make
> menuconfig and exit, just to be sure that kernel build would touch on it.
> Everything worked fine.
>
>> I'm compiling against Ubuntu kernel 2.6.22, which I know it's pretty
>> old. Can this make any difference?
>
> I'm using here kernel 2.6.28.2. Maybe this is some bug on the Ubuntu's kernel
> kbuild, since make *config options at the out-of-tree kernel is a wrapper to
> the kernel kbuild.
>
> Could you please try the same procedure with a newer kernel? There's no need to
> install the kernel on your machine. All you need to do is something like:
>
> wget <newer kernel like 2.6.28.4>
> tar -xvfoj <kernel>
> cd linux
> make init
>
> cd ~/v4l-dvb
> make release DIR=<newer kernel patch>
> make menuconfig
>
> The "make release" will allow you to use the Kbuild of the newer kernel.
>
>>
>> Best regards,
>>   Eduard
>>
>> PS: by the way, this works fine when using revision 10189,  just
>> before CX88 dependencies got altered.
>
> The problem is that the old Kconfig were causing breakages upstream.
>
> Cheers,
> Mauro
>

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: cx8802.ko module not being built with current HG tree
  2009-02-10 11:49     ` Eduard Huguet
@ 2009-02-10 18:25       ` Trent Piepho
  2009-02-10 18:47         ` Mauro Carvalho Chehab
  0 siblings, 1 reply; 19+ messages in thread
From: Trent Piepho @ 2009-02-10 18:25 UTC (permalink / raw)
  To: Eduard Huguet; +Cc: Mauro Carvalho Chehab, linux-media

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: TEXT/PLAIN; charset=X-UNKNOWN, Size: 384 bytes --]

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?

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: cx8802.ko module not being built with current HG tree
  2009-02-10 18:25       ` Trent Piepho
@ 2009-02-10 18:47         ` Mauro Carvalho Chehab
  2009-02-10 20:31           ` Hans Verkuil
  0 siblings, 1 reply; 19+ messages in thread
From: Mauro Carvalho Chehab @ 2009-02-10 18:47 UTC (permalink / raw)
  To: Trent Piepho; +Cc: Eduard Huguet, linux-media, Hans Verkuil

On Tue, 10 Feb 2009 10:25:26 -0800 (PST)
Trent Piepho <xyzzy@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'
[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.


Cheers,
Mauro

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: cx8802.ko module not being built with current HG tree
  2009-02-10 18:47         ` Mauro Carvalho Chehab
@ 2009-02-10 20:31           ` Hans Verkuil
  2009-02-10 20:41             ` Mauro Carvalho Chehab
  0 siblings, 1 reply; 19+ messages in thread
From: Hans Verkuil @ 2009-02-10 20:31 UTC (permalink / raw)
  To: Mauro Carvalho Chehab; +Cc: Trent Piepho, Eduard Huguet, linux-media

[-- Attachment #1: Type: text/plain, Size: 3047 bytes --]

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@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'
> [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@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

[-- Attachment #2: dma.diff --]
[-- Type: text/x-diff, Size: 544 bytes --]

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

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: cx8802.ko module not being built with current HG tree
  2009-02-10 20:31           ` Hans Verkuil
@ 2009-02-10 20:41             ` Mauro Carvalho Chehab
  2009-02-10 21:21               ` Hans Verkuil
  0 siblings, 1 reply; 19+ messages in thread
From: Mauro Carvalho Chehab @ 2009-02-10 20:41 UTC (permalink / raw)
  To: Hans Verkuil; +Cc: Trent Piepho, Eduard Huguet, linux-media

On Tue, 10 Feb 2009 21:31:59 +0100
Hans Verkuil <hverkuil@xs4all.nl> wrote:

> 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@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'
> > [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.

No, it didn't fix. I'm still getting this issue with 2.6.18.

Btw, on RHEL5 2.6.18 kernel, HAS_DMA does exist:

$ grep CONFIG_HAS_DMA /usr/src/kernels/2.6.18-125.el5-x86_64/.config 
CONFIG_HAS_DMA=y

Also, the original reporter were for an Ubuntu kernel 2.6.22.
> 
> Signed-off-by: Hans Verkuil <hverkuil@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
> 




Cheers,
Mauro

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: cx8802.ko module not being built with current HG tree
  2009-02-10 20:41             ` Mauro Carvalho Chehab
@ 2009-02-10 21:21               ` Hans Verkuil
  2009-02-11  0:17                 ` Mauro Carvalho Chehab
  0 siblings, 1 reply; 19+ messages in thread
From: Hans Verkuil @ 2009-02-10 21:21 UTC (permalink / raw)
  To: Mauro Carvalho Chehab; +Cc: Trent Piepho, Eduard Huguet, linux-media

On Tuesday 10 February 2009 21:41:47 Mauro Carvalho Chehab wrote:
> On Tue, 10 Feb 2009 21:31:59 +0100
>
> Hans Verkuil <hverkuil@xs4all.nl> wrote:
> > 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@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'
> > > [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.
>
> No, it didn't fix. I'm still getting this issue with 2.6.18.
>
> Btw, on RHEL5 2.6.18 kernel, HAS_DMA does exist:
>
> $ grep CONFIG_HAS_DMA /usr/src/kernels/2.6.18-125.el5-x86_64/.config
> CONFIG_HAS_DMA=y

Oops, this fixes a different bug. It is still a bug fix, though, since it 
prevents CX88 from being build at all on any vanilla kernels < 2.6.22. Can 
you apply it?

> Also, the original reporter were for an Ubuntu kernel 2.6.22.

I did some more testing and the bug disappears in kernel 2.6.25. Also, if I 
just run 'make', then the .config file it produces is fine. I wonder if it 
isn't a bug in menuconfig itself.

Regards,

	Hans

>
> > Signed-off-by: Hans Verkuil <hverkuil@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
>
> Cheers,
> Mauro



-- 
Hans Verkuil - video4linux developer - sponsored by TANDBERG

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: cx8802.ko module not being built with current HG tree
  2009-02-10 21:21               ` Hans Verkuil
@ 2009-02-11  0:17                 ` Mauro Carvalho Chehab
  2009-02-11  1:20                   ` Trent Piepho
  0 siblings, 1 reply; 19+ messages in thread
From: Mauro Carvalho Chehab @ 2009-02-11  0:17 UTC (permalink / raw)
  To: Hans Verkuil; +Cc: Trent Piepho, Eduard Huguet, linux-media

On Tue, 10 Feb 2009 22:21:39 +0100
Hans Verkuil <hverkuil@xs4all.nl> wrote:


> > $ grep CONFIG_HAS_DMA /usr/src/kernels/2.6.18-125.el5-x86_64/.config
> > CONFIG_HAS_DMA=y
> 
> Oops, this fixes a different bug. It is still a bug fix, though, since it 
> prevents CX88 from being build at all on any vanilla kernels < 2.6.22. Can 
> you apply it?

Applied, thanks.

> > Also, the original reporter were for an Ubuntu kernel 2.6.22.
> 
> I did some more testing and the bug disappears in kernel 2.6.25. Also, if I 
> just run 'make', then the .config file it produces is fine. I wonder if it 
> isn't a bug in menuconfig itself.

It seems to be a bug at the Kbuild, fixed on Feb, 2008, on this changeset: 
commit 587c90616a5b44e6ccfac38e64d4fecee51d588c (attached).

As explained, after the patch description, the value for the Kconfig var, after
the patch, uses this formula:

    	(value && dependency) || select

where value is the default value.

Since CONFIG_CX88_MPEG is defined as:

config VIDEO_CX88_MPEG
        tristate
        depends on VIDEO_CX88_DVB || VIDEO_CX88_BLACKBIRD
        default y

And there there's no select, the value of CONFIG_CX88_MPEG is determined by:
	('y' && dependency)

The most complex case is when we have CX88 defined as:
	CX88 = 'y'

if both CX88_DVB and CX88_BLACKBIRD are defined as 'm' (or one of them is 'n'
and the other is 'm'), then CX88_MPEG is defined as:
	CX88_MPEG = 'm'

If one of CX88_DVB or CX88_BLACKBIRD is defined as 'y'; then we have:
	CX88_MPEG = 'y'

If both are 'n', we have:
	CX88_MPEG = 'n'

So, it seems that, after commit 587c90616a5b44e6ccfac38e64d4fecee51d588c,
everything is working as expected. We just need to provide a hack at the
out-of-tree build system for kernels that don't have this commit applied.

Cheers,
Mauro

commit 587c90616a5b44e6ccfac38e64d4fecee51d588c
Author: Roman Zippel <zippel@linux-m68k.org>
Date:   Mon Feb 11 21:13:47 2008 +0100

    kconfig: fix select in combination with default
    
    > The attached .config (with current -git) results in a compile
    > error since it contains:
    >
    > CONFIG_X86=y
    > # CONFIG_EMBEDDED is not set
    > CONFIG_SERIO=m
    > CONFIG_SERIO_I8042=y
    >
    > Looking at drivers/input/serio/Kconfig I simply don't get how this
    > can happen.
    
    You've hit the rather subtle rules of select vs default. What happened is
    that SERIO is selected to m, but SERIO_I8042 isn't selected so the default
    of y is used instead.
    We already had the problem in the past that select and default don't work
    well together, so this patch cleans this up and makes the rule hopefully
    more straightforward. Basically now the value is calculated like this:
    
    	(value && dependency) || select
    
    where the value is the user choice (if available and the symbol is
    visible) or default.
    
    In this case it means SERIO and SERIO_I8042 are both set to y due to their
    default and if SERIO didn't had the default, then the SERIO_I8042 value
    would be limited to m due to the dependency.
    
    I tested this patch with more 10000 random configs and above case is the
    only the difference that showed up, so I hope there is nothing that
    depended on the old more complex and subtle rules.
    
    Signed-off-by: Roman Zippel <zippel@linux-m68k.org>
    Tested-by: Adrian Bunk <bunk@kernel.org>
    Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

diff --git a/scripts/kconfig/symbol.c b/scripts/kconfig/symbol.c
index 3929e5b..4a03191 100644
--- a/scripts/kconfig/symbol.c
+++ b/scripts/kconfig/symbol.c
@@ -298,22 +298,30 @@ void sym_calc_value(struct symbol *sym)
 		if (sym_is_choice_value(sym) && sym->visible == yes) {
 			prop = sym_get_choice_prop(sym);
 			newval.tri = (prop_get_symbol(prop)->curr.val == sym) ? yes : no;
-		} else if (EXPR_OR(sym->visible, sym->rev_dep.tri) != no) {
-			sym->flags |= SYMBOL_WRITE;
-			if (sym_has_value(sym))
-				newval.tri = sym->def[S_DEF_USER].tri;
-			else if (!sym_is_choice(sym)) {
-				prop = sym_get_default_prop(sym);
-				if (prop)
-					newval.tri = expr_calc_value(prop->expr);
+		} else {
+			if (sym->visible != no) {
+				/* if the symbol is visible use the user value
+				 * if available, otherwise try the default value
+				 */
+				sym->flags |= SYMBOL_WRITE;
+				if (sym_has_value(sym)) {
+					newval.tri = EXPR_AND(sym->def[S_DEF_USER].tri,
+							      sym->visible);
+					goto calc_newval;
+				}
 			}
-			newval.tri = EXPR_OR(EXPR_AND(newval.tri, sym->visible), sym->rev_dep.tri);
-		} else if (!sym_is_choice(sym)) {
-			prop = sym_get_default_prop(sym);
-			if (prop) {
+			if (sym->rev_dep.tri != no)
 				sym->flags |= SYMBOL_WRITE;
-				newval.tri = expr_calc_value(prop->expr);
+			if (!sym_is_choice(sym)) {
+				prop = sym_get_default_prop(sym);
+				if (prop) {
+					sym->flags |= SYMBOL_WRITE;
+					newval.tri = EXPR_AND(expr_calc_value(prop->expr),
+							      prop->visible.tri);
+				}
 			}
+		calc_newval:
+			newval.tri = EXPR_OR(newval.tri, sym->rev_dep.tri);
 		}
 		if (newval.tri == mod && sym_get_type(sym) == S_BOOLEAN)
 			newval.tri = yes;

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* Re: cx8802.ko module not being built with current HG tree
  2009-02-11  0:17                 ` Mauro Carvalho Chehab
@ 2009-02-11  1:20                   ` Trent Piepho
  2009-02-11  7:53                     ` Mauro Carvalho Chehab
  0 siblings, 1 reply; 19+ messages in thread
From: Trent Piepho @ 2009-02-11  1:20 UTC (permalink / raw)
  To: Mauro Carvalho Chehab; +Cc: Hans Verkuil, Eduard Huguet, linux-media

On Tue, 10 Feb 2009, Mauro Carvalho Chehab wrote:
> > I did some more testing and the bug disappears in kernel 2.6.25. Also, if I
> > just run 'make', then the .config file it produces is fine. I wonder if it
> > isn't a bug in menuconfig itself.
>
> It seems to be a bug at the Kbuild, fixed on Feb, 2008, on this changeset:
> commit 587c90616a5b44e6ccfac38e64d4fecee51d588c (attached).
>
> As explained, after the patch description, the value for the Kconfig var, after
> the patch, uses this formula:
>
>     	(value && dependency) || select

It's odd that the patch is for "fix select in combination with default",
yet there is no select used for CX88_DVB.  I think what you've done with
CX88_MPEG is something that nothing else in has used before, which made use
of the behavior introduced by this patch in a new way.

> And there there's no select, the value of CONFIG_CX88_MPEG is determined by:
> 	('y' && dependency)
>
> The most complex case is when we have CX88 defined as:
> 	CX88 = 'y'
>
> if both CX88_DVB and CX88_BLACKBIRD are defined as 'm' (or one of them is 'n'
> and the other is 'm'), then CX88_MPEG is defined as:
> 	CX88_MPEG = 'm'
>
> If one of CX88_DVB or CX88_BLACKBIRD is defined as 'y'; then we have:
> 	CX88_MPEG = 'y'
>
> If both are 'n', we have:
> 	CX88_MPEG = 'n'
>
> So, it seems that, after commit 587c90616a5b44e6ccfac38e64d4fecee51d588c,
> everything is working as expected. We just need to provide a hack at the
> out-of-tree build system for kernels that don't have this commit applied.

I still think using select is better.  What Roman Zippel was talking about
was the mess with select and the tuner drivers.  I agree that's a mess and
there are better ways to do it without using select.  But the MPEG module
is like a library used by just DVB and BLACKBIRD.  It seems like the ideal
case for using select.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: cx8802.ko module not being built with current HG tree
  2009-02-11  1:20                   ` Trent Piepho
@ 2009-02-11  7:53                     ` Mauro Carvalho Chehab
  2009-02-13 10:47                       ` Trent Piepho
  0 siblings, 1 reply; 19+ messages in thread
From: Mauro Carvalho Chehab @ 2009-02-11  7:53 UTC (permalink / raw)
  To: Trent Piepho; +Cc: Hans Verkuil, Eduard Huguet, linux-media

On Tue, 10 Feb 2009 17:20:52 -0800 (PST)
Trent Piepho <xyzzy@speakeasy.org> wrote:

> On Tue, 10 Feb 2009, Mauro Carvalho Chehab wrote:
> > > I did some more testing and the bug disappears in kernel 2.6.25. Also, if I
> > > just run 'make', then the .config file it produces is fine. I wonder if it
> > > isn't a bug in menuconfig itself.
> >
> > It seems to be a bug at the Kbuild, fixed on Feb, 2008, on this changeset:
> > commit 587c90616a5b44e6ccfac38e64d4fecee51d588c (attached).
> >
> > As explained, after the patch description, the value for the Kconfig var, after
> > the patch, uses this formula:
> >
> >     	(value && dependency) || select
> 
> It's odd that the patch is for "fix select in combination with default",
> yet there is no select used for CX88_DVB.

If you look at the patch code, it fixed the handling for non-visible Kconfig vars.

> I think what you've done with CX88_MPEG is something that nothing else in has used before, which made use
> of the behavior introduced by this patch in a new way.
> 
> > And there there's no select, the value of CONFIG_CX88_MPEG is determined by:
> > 	('y' && dependency)
> >
> > The most complex case is when we have CX88 defined as:
> > 	CX88 = 'y'
> >
> > if both CX88_DVB and CX88_BLACKBIRD are defined as 'm' (or one of them is 'n'
> > and the other is 'm'), then CX88_MPEG is defined as:
> > 	CX88_MPEG = 'm'
> >
> > If one of CX88_DVB or CX88_BLACKBIRD is defined as 'y'; then we have:
> > 	CX88_MPEG = 'y'
> >
> > If both are 'n', we have:
> > 	CX88_MPEG = 'n'
> >
> > So, it seems that, after commit 587c90616a5b44e6ccfac38e64d4fecee51d588c,
> > everything is working as expected. We just need to provide a hack at the
> > out-of-tree build system for kernels that don't have this commit applied.
> 
> I still think using select is better.  What Roman Zippel was talking about
> was the mess with select and the tuner drivers.  I agree that's a mess and
> there are better ways to do it without using select.  But the MPEG module
> is like a library used by just DVB and BLACKBIRD.  It seems like the ideal
> case for using select.

I can't foresee any case where this logic would fail in the future. 

Let's suppose that some newer dependencies would be needed. If those
dependencies will be properly added at DVB and/or at BLACKBIRD, this logic will
still work. There's no possible case where CX88_MPEG would need a dependency
that aren't needed by either DVB and/or BLACKBIRD. Also, by using depends on,
instead of select, will warrant that CX88_MPEG will have the proper 'y' or 'm'
value, depending on the dependencies of CX88_DVB and CX88_BLACKBIRD.

It seems that this is exactly what Roman expected to be fixed by changing from
"select" to "depends on" with tuners.

Cheers,
Mauro

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: cx8802.ko module not being built with current HG tree
  2009-02-11  7:53                     ` Mauro Carvalho Chehab
@ 2009-02-13 10:47                       ` Trent Piepho
  0 siblings, 0 replies; 19+ messages in thread
From: Trent Piepho @ 2009-02-13 10:47 UTC (permalink / raw)
  To: Mauro Carvalho Chehab; +Cc: Hans Verkuil, Eduard Huguet, linux-media

On Wed, 11 Feb 2009, Mauro Carvalho Chehab wrote:
> On Tue, 10 Feb 2009 17:20:52 -0800 (PST)
> Trent Piepho <xyzzy@speakeasy.org> wrote:
> > I still think using select is better.  What Roman Zippel was talking about
> > was the mess with select and the tuner drivers.  I agree that's a mess and
> > there are better ways to do it without using select.  But the MPEG module
> > is like a library used by just DVB and BLACKBIRD.  It seems like the ideal
> > case for using select.
>
> I can't foresee any case where this logic would fail in the future.
>
> Let's suppose that some newer dependencies would be needed. If those
> dependencies will be properly added at DVB and/or at BLACKBIRD, this logic will
> still work. There's no possible case where CX88_MPEG would need a dependency
> that aren't needed by either DVB and/or BLACKBIRD. Also, by using depends on,

I think this is the reason select is the better choice here.  The only
reason select might have a problem is if CX88_MPEG had a dependency that
that DVB and BLACKBIRD do not have.  But like you said, that isn't going to
happen, so there is no problem with select.

> instead of select, will warrant that CX88_MPEG will have the proper 'y' or 'm'
> value, depending on the dependencies of CX88_DVB and CX88_BLACKBIRD.

Using select like I did will result in CX88_MPEG having the proper 'y' or
'm' as well.

> It seems that this is exactly what Roman expected to be fixed by changing from
> "select" to "depends on" with tuners.

The problem with the tuners is that the many tuners each have many
different dependencies and are used by multiple drivers.  select requires
that the drivers using the tuners consider those depedencies and if the
tuners change the drivers must also be updated.  But with CX88_MPEG we
don't have this problem.

We also want to be able to manually override tuner selection, which makes
things even more complicated for the tuners.

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2009-02-13 10:47 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-02-05 15:54 [linux-dvb] cx8802.ko module not being built with current HG tree Eduard Huguet
2009-02-05 15:59 ` Eduard Huguet
2009-02-05 18:33   ` Trent Piepho
2009-02-05 19:04     ` Eduard Huguet
2009-02-10 11:37   ` Mauro Carvalho Chehab
2009-02-10 11:49     ` Eduard Huguet
2009-02-10 18:25       ` Trent Piepho
2009-02-10 18:47         ` Mauro Carvalho Chehab
2009-02-10 20:31           ` Hans Verkuil
2009-02-10 20:41             ` Mauro Carvalho Chehab
2009-02-10 21:21               ` Hans Verkuil
2009-02-11  0:17                 ` Mauro Carvalho Chehab
2009-02-11  1:20                   ` Trent Piepho
2009-02-11  7:53                     ` Mauro Carvalho Chehab
2009-02-13 10:47                       ` Trent Piepho
2009-02-10 11:57     ` Eduard Huguet
2009-02-10 12:09       ` Mauro Carvalho Chehab
2009-02-10 12:29         ` Mauro Carvalho Chehab
2009-02-10 12:39         ` Eduard Huguet

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.