Re: [PATCH -next] media/usb: fix kconfig dependencies (aka booldepending on tristate considered harmful)

From: Yann E. MORIN
Date: Wed May 08 2013 - 17:18:31 EST


Randy, All,

On Wed, May 08, 2013 at 11:26:33AM -0700, Randy Dunlap wrote:
> (a.k.a. Kconfig bool depending on a tristate considered harmful)

Maybe that would warrant a bit of explanations in:
Documentation/kbuild/kconfig-language.txt

> Fix various build errors when CONFIG_USB=m and media USB drivers
> are builtin. In this case, CONFIG_USB_ZR364XX=y,
> CONFIG_VIDEO_PVRUSB2=y, and CONFIG_VIDEO_STK1160=y.
>
> This is caused by (from drivers/media/usb/Kconfig):
>
> menuconfig MEDIA_USB_SUPPORT
> bool "Media USB Adapters"
> depends on USB && MEDIA_SUPPORT
> =m =y
> so MEDIA_USB_SUPPORT=y and all following Kconfig 'source' lines
> are included. By adding an "if USB" guard around the 'source' lines,
> the needed dependencies are enforced.
[--SNIP--]
>
> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
> ---
> drivers/media/usb/Kconfig | 2 ++
> 1 file changed, 2 insertions(+)
>
> --- linux-next-20130508.orig/drivers/media/usb/Kconfig
> +++ linux-next-20130508/drivers/media/usb/Kconfig
> @@ -5,6 +5,7 @@ menuconfig MEDIA_USB_SUPPORT
> Enable media drivers for USB bus.
> If you have such devices, say Y.
>
> +if USB
> if MEDIA_USB_SUPPORT

Why not starting the 'if USB' block just above MEDIA_USB_SUPPORT, and
removing the 'depends on USB' from MEDIA_USB_SUPPORT :

---8<---
if USB
menuconfig MEDIA_USB_SUPPORT
bool "Media USB Adapters"
depends on MEDIA_SUPPORT

if MEDIA_USB_SUPPORT
---8<---

And keeping this hunk as-is:
> @@ -52,3 +53,4 @@ source "drivers/media/usb/em28xx/Kconfig
> endif
>
> endif #MEDIA_USB_SUPPORT
> +endif #USB

Regards,
Yann E. MORIN.

--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
--
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/