This fixes the SSB dependency hell and introduces some
fake-options that only give some advice on what to select.

We live with these fake options only until menuconfig is able
to tell more about needed dependencies and how to resolve them.

Cc: Andrew Morton <[EMAIL PROTECTED]>
Signed-off-by: Michael Buesch <[EMAIL PROTECTED]>

Index: wireless-dev/drivers/net/Kconfig
===================================================================
--- wireless-dev.orig/drivers/net/Kconfig       2007-08-09 14:47:01.000000000 
+0200
+++ wireless-dev/drivers/net/Kconfig    2007-08-09 14:47:40.000000000 +0200
@@ -1452,10 +1452,31 @@ config APRICOT
          <file:Documentation/networking/net-modules.txt>.  The module will be
          called apricot.
 
+config B44_DEP_HACK
+       bool
+       depends on SSB && SSB_PCIHOST && SSB_DRIVER_PCICORE
+       default y
+
+config B44_ADVICE_HACK
+       bool "B44 for PCI not available. Read the help text of this option!"
+       depends on !B44_DEP_HACK
+       ---help---
+         The Broadcom 440x/47xx driver for PCI devices can not be enabled,
+         because the required dependencies are not selected.
+
+         In order to be able to select the Broadcom 440x/47xx PCI driver, you
+         need to enable the following options first:
+
+         CONFIG_SSB found in menu:
+         Device Drivers/Sonics Silicon Backplane/Sonics Silicon Backplane 
support
+         CONFIG_SSB_PCIHOST found in menu:
+         Device Drivers/Sonics Silicon Backplane/Support for SSB on PCI-bus 
host
+         CONFIG_SSB_DRIVER_PCICORE found in menu:
+         Device Drivers/Sonics Silicon Backplane/SSB PCI core driver
+
 config B44
        tristate "Broadcom 440x/47xx ethernet support"
-       depends on HAS_IOMEM
-       select SSB
+       depends on SSB
        select MII
        help
          If you have a network (Ethernet) controller of this type, say Y
@@ -1473,9 +1494,7 @@ config B44
 
 config B44_PCI
        bool "Broadcom 440x PCI device support"
-       depends on B44 && NET_PCI
-       select SSB_PCIHOST
-       select SSB_DRIVER_PCICORE
+       depends on B44 && SSB_PCIHOST && SSB_DRIVER_PCICORE && NET_PCI
        default y
        help
          Support for Broadcom 440x PCI devices.
Index: wireless-dev/drivers/net/wireless/bcm43xx-mac80211/Kconfig
===================================================================
--- wireless-dev.orig/drivers/net/wireless/bcm43xx-mac80211/Kconfig     
2007-08-09 14:47:01.000000000 +0200
+++ wireless-dev/drivers/net/wireless/bcm43xx-mac80211/Kconfig  2007-08-09 
14:59:39.000000000 +0200
@@ -1,8 +1,29 @@
+config BCM43XX_DEP_HACK
+       bool
+       depends on SSB && SSB_PCIHOST && SSB_DRIVER_PCICORE
+       default y
+
+config BCM43XX_ADVICE_HACK
+       bool "BCM43xx PCI (mac80211) not available. Read the help text of this 
option!"
+       depends on !BCM43XX_DEP_HACK
+       ---help---
+         The BCM43xx driver for BCM43xx PCI devices can not be enabled,
+         because the required dependencies are not selected.
+
+         In order to be able to select the BCM43xx-mac80211 driver, you
+         need to enable the following options first:
+
+         CONFIG_SSB found in menu:
+         Device Drivers/Sonics Silicon Backplane/Sonics Silicon Backplane 
support
+         CONFIG_SSB_PCIHOST found in menu:
+         Device Drivers/Sonics Silicon Backplane/Support for SSB on PCI-bus 
host
+         CONFIG_SSB_DRIVER_PCICORE found in menu:
+         Device Drivers/Sonics Silicon Backplane/SSB PCI core driver
+
 config BCM43XX_MAC80211
        tristate "Broadcom BCM43xx wireless support (mac80211 stack)"
-       depends on MAC80211 && WLAN_80211 && EXPERIMENTAL
+       depends on SSB && MAC80211 && WLAN_80211 && EXPERIMENTAL
        select FW_LOADER
-       select SSB
        select HW_RANDOM
        ---help---
          This is an experimental driver for the Broadcom 43xx wireless chip,
@@ -10,9 +31,7 @@ config BCM43XX_MAC80211
 
 config BCM43XX_MAC80211_PCI
        bool "BCM43xx PCI device support"
-       depends on BCM43XX_MAC80211 && PCI
-       select SSB_PCIHOST
-       select SSB_DRIVER_PCICORE
+       depends on BCM43XX_MAC80211 && SSB_PCIHOST && SSB_DRIVER_PCICORE
        default y
        ---help---
          Broadcom 43xx PCI device support.
@@ -24,8 +43,7 @@ config BCM43XX_MAC80211_PCI
 
 config BCM43XX_MAC80211_PCMCIA
        bool "BCM43xx PCMCIA device support"
-       depends on BCM43XX_MAC80211 && PCMCIA
-       select SSB_PCMCIAHOST
+       depends on BCM43XX_MAC80211 && SSB_PCMCIAHOST
        ---help---
          Broadcom 43xx PCMCIA device support.
 
@@ -43,14 +61,13 @@ config BCM43XX_MAC80211_PCMCIA
          If unsure, say N.
 
 config BCM43XX_MAC80211_DEBUG
-       bool "Broadcom BCM43xx debugging (RECOMMENDED)"
+       bool "Broadcom BCM43xx debugging"
        depends on BCM43XX_MAC80211
-       select SSB_DEBUG if !SSB_SILENT
-       default y
        ---help---
          Broadcom 43xx debugging messages.
-         Say Y, because the driver is still very experimental and
-         this will help you get it running.
+
+         Say Y, if you want to find out why the driver does not
+         work for you.
 
 config BCM43XX_MAC80211_DMA
        bool
Index: wireless-dev/drivers/ssb/Kconfig
===================================================================
--- wireless-dev.orig/drivers/ssb/Kconfig       2007-08-09 14:47:01.000000000 
+0200
+++ wireless-dev/drivers/ssb/Kconfig    2007-08-09 14:51:09.000000000 +0200
@@ -2,7 +2,7 @@ menu "Sonics Silicon Backplane"
 
 config SSB
        tristate "Sonics Silicon Backplane support"
-       depends on EXPERIMENTAL && HAS_IOMEM
+       depends on HAS_IOMEM
        help
          Support for the Sonics Silicon Backplane bus
 
@@ -21,8 +21,8 @@ config SSB_PCIHOST
          If unsure, say Y
 
 config SSB_PCMCIAHOST
-       bool "Support for SSB on PCMCIA-bus host"
-       depends on SSB && PCMCIA
+       bool "Support for SSB on PCMCIA-bus host (EXPERIMENTAL)"
+       depends on SSB && PCMCIA && EXPERIMENTAL
        help
          Support for a Sonics Silicon Backplane on top
          of a PCMCIA device.
@@ -65,14 +65,14 @@ config SSB_DRIVER_PCICORE
          If unsure, say Y
 
 config SSB_PCICORE_HOSTMODE
-       bool "Hostmode support for SSB PCI core"
-       depends on SSB_DRIVER_PCICORE && SSB_DRIVER_MIPS
+       bool "Hostmode support for SSB PCI core (EXPERIMENTAL)"
+       depends on SSB_DRIVER_PCICORE && SSB_DRIVER_MIPS && EXPERIMENTAL
        help
          PCIcore hostmode operation (external PCI bus).
 
 config SSB_DRIVER_MIPS
-       bool "SSB Broadcom MIPS core driver"
-       depends on SSB && MIPS
+       bool "SSB Broadcom MIPS core driver (EXPERIMENTAL)"
+       depends on SSB && MIPS && EXPERIMENTAL
        select SSB_SERIAL
        help
          Driver for the Sonics Silicon Backplane attached
@@ -81,8 +81,8 @@ config SSB_DRIVER_MIPS
          If unsure, say N
 
 config SSB_DRIVER_EXTIF
-       bool "SSB Broadcom EXTIF core driver"
-       depends on SSB_DRIVER_MIPS
+       bool "SSB Broadcom EXTIF core driver (EXPERIMENTAL)"
+       depends on SSB_DRIVER_MIPS && EXPERIMENTAL
        help
          Driver for the Sonics Silicon Backplane attached
          Broadcom EXTIF core.
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to