Re: Linux 2.6.26-rc1

From: Mauro Carvalho Chehab
Date: Tue May 06 2008 - 06:32:44 EST


On Tue, 6 May 2008 09:02:25 +0100
Alistair John Strachan <alistair@xxxxxxxxxxxxx> wrote:

> On Monday 05 May 2008 22:04:17 Mauro Carvalho Chehab wrote:
> > Alistair,
> >
> > Sorry for not answering earlier, I got some days off (I still didn't read
> > all messages from you - I'm flooded of messages here).
> >
> > >> I have DVB_CORE=n and VIDEO_DEV=y. VIDEO_DEV is:
> > >>
> > >> config VIDEO_DEV
> > >> tristate "Video For Linux"
> > >>
> > >> So if you enable Video For Linux, the tuner-core is automatically built,
> > >> even if no tuners are selected? Surely that's wrong..
> > >
> > > That is probably correct. Video For Linux is used for capturing video
> > > streams. The fact that you can get this invalid config to fail to build
> > > should be reported to the v4l folks and let them fix it up.
> >
> > Yes, this is correct, if you select a board that supports tuner (for
> > example, bttv, or cx88).
> >
> > The error is that most tuners are dependent of I2C. The right fix seems to
> > do this:
> >
> >
> > config MEDIA_TUNER
> > tristate
> > default (DVB_CORE || VIDEO_DEV) && I2C
> > depends on (DVB_CORE || VIDEO_DEV) && I2C
>
> This still seems imperfect -- if I have I2C=y and VIDEO_DEV=y, but DVB_CORE=n
> (and no board types selected), it'll still build at least some of the tuner
> code into the V4L core.

Yes. The complete fix seems to have a separate Kconfig item for tuner-core.

> This is still true even if I set MEDIA_TUNER_CUSTOMIZE=y and set all of the
> tuners to 'n'. I'd assumed that this was an artefact of the complex Kconfig
> logic here, and was not intentional.

I agree. the Kconfig logic for V4L/DVB is complex. It tries to address two
different issues:
- an easy board selection for the end-user (just selecting CX88 should
allow his board to work);
- an advanced selection for embedded set-top-boxes, where you can
select just what you really need.

Due to that, there are several "select" clauses, that don't consider the
"depends on". So, it is very easy to break it, unfortunately.

Also, since 2.6.24, all tuner modules are shared by analog and digital support
(there are two different, independent API's and core utilities for analog and
for digital).

We need to redesign Kconfig/Makefile's to simplify the logic and remove the
hidden dependencies.



Cheers,
Mauro
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/