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

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

 



On Tue, 10 Feb 2009 17:20:52 -0800 (PST)
Trent Piepho <xyzzy@xxxxxxxxxxxxx> 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
--
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