Re: [PATCH] kconfig: warn about complex selects

From: Ingo Molnar
Date: Sun May 04 2008 - 04:42:37 EST



* Sam Ravnborg <sam@xxxxxxxxxxxx> wrote:

> On Sun, May 04, 2008 at 07:40:44AM +0200, Vegard Nossum wrote:
> > Hi,
> >
> > Given recent discussion about kconfig and the "select" feature, I have made
> > the following quick & dirty patch to detect what I call "complex selects".
> >
> > For v2.6.25, I get these warnings:
> > sound/pci/Kconfig:512:error: found complex select: SND_FM801_TEA575X -> VIDEO_V4L1
> > drivers/ide/Kconfig:890:error: found complex select: ETRAX_IDE -> BLK_DEV_IDEDMA
> > drivers/acpi/Kconfig:185:error: found complex select: ACPI_HOTPLUG_CPU -> ACPI_CONTAINER
> >
> > While for v2.6.26-rc1, I get these:
> > sound/pci/Kconfig:528:error: found complex select: SND_FM801_TEA575X -> VIDEO_V4L1
> > drivers/media/video/em28xx/Kconfig:2:error: found complex select: VIDEO_EM28XX -> MEDIA_TUNER
> > drivers/media/video/bt8xx/Kconfig:2:error: found complex select: VIDEO_BT848 -> MEDIA_TUNER
> > drivers/media/video/saa7134/Kconfig:2:error: found complex select: VIDEO_SAA7134 -> MEDIA_TUNER
> > drivers/media/video/cx88/Kconfig:2:error: found complex select: VIDEO_CX88 -> MEDIA_TUNER
> > drivers/media/video/cx23885/Kconfig:2:error: found complex select: VIDEO_CX23885 -> MEDIA_TUNER
> > drivers/media/video/ivtv/Kconfig:2:error: found complex select: VIDEO_IVTV -> MEDIA_TUNER
> > drivers/media/video/cx18/Kconfig:2:error: found complex select: VIDEO_CX18 -> MEDIA_TUNER
> > drivers/media/video/pvrusb2/Kconfig:2:error: found complex select: VIDEO_PVRUSB2 -> MEDIA_TUNER
> > drivers/media/video/Kconfig:690:error: found complex select: VIDEO_MXB -> MEDIA_TUNER
> > drivers/media/video/usbvision/Kconfig:2:error: found complex select: VIDEO_USBVISION -> MEDIA_TUNER
> > drivers/acpi/Kconfig:188:error: found complex select: ACPI_HOTPLUG_CPU -> ACPI_CONTAINER
> >
> > (In other words, the number of these has increased significantly since the
> > last release, and these will probably be hit as compile errors at one point
> > or another.)
> >
> > I am not a kconfig expert, so I might have missed some things. Roman, is this
> > even remotely good? I think it's probably a good start anyway.
>
> I did a small test of this using following configuration:
> config A
> bool "a"
>
> config B
> bool "b"
> depends on A
> default AA || AAA
>
> config BB
> bool "bb"
> depends on A
>
> config C
> bool "c"
> select B
>
> config CC
> bool "cc"
> select BB
>
>
> I had expected a warning about complex select for both C and CC. But
> only C triggered the warning due to the complex default value of B. So
> we need to work on this a bit more.
>
> But great to see code instead of just talking!

agreed, very cool stuff Vegard! :)

Ingo
--
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/