Re: cx8802.ko module not being built with current HG tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux