To compile this driver as a module, choose M here: the module
          will be called starfire.  This is recommended.
 
-config KSZ884X_PCI
-       tristate "Micrel KSZ8841/2 PCI"
-       depends on NET_PCI && PCI
-       select MII
-       select CRC32
-       help
-         This PCI driver is for Micrel KSZ8841/KSZ8842 PCI Ethernet chip.
-
-         To compile this driver as a module, choose M here. The module
-         will be called ksz884x.
-
 config FORCEDETH
        tristate "nForce Ethernet support"
        depends on NET_PCI && PCI
 
          Please email feedback to <torben.mathiasen@compaq.com>.
 
-config KS8842
-       tristate "Micrel KSZ8841/42 with generic bus interface"
-       depends on HAS_IOMEM && DMA_ENGINE
-       help
-         This platform driver is for KSZ8841(1-port) / KS8842(2-port)
-         ethernet switch chip (managed, VLAN, QoS) from Micrel or
-         Timberdale(FPGA).
-
-config KS8851
-       tristate "Micrel KS8851 SPI"
-       depends on SPI
-       select MII
-       select CRC32
-       help
-         SPI driver for Micrel KS8851 SPI attached network chip.
-
-config KS8851_MLL
-       tristate "Micrel KS8851 MLL"
-       depends on HAS_IOMEM
-       select MII
-       help
-         This platform driver is for Micrel KS8851 Address/data bus
-         multiplexed network chip.
-
 config CPMAC
        tristate "TI AR7 CPMAC Ethernet support (EXPERIMENTAL)"
        depends on NET_ETHERNET && EXPERIMENTAL && AR7
 
 ps3_gelic-objs += ps3_gelic_net.o $(gelic_wireless-y)
 obj-$(CONFIG_TC35815) += tc35815.o
 obj-$(CONFIG_SKFP) += skfp/
-obj-$(CONFIG_KS8842)   += ks8842.o
-obj-$(CONFIG_KS8851)   += ks8851.o
-obj-$(CONFIG_KS8851_MLL)       += ks8851_mll.o
-obj-$(CONFIG_KSZ884X_PCI)      += ksz884x.o
 obj-$(CONFIG_ADAPTEC_STARFIRE) += starfire.o
 obj-$(CONFIG_RIONET) += rionet.o
 obj-$(CONFIG_SH_ETH) += sh_eth.o
 
          If you wish to compile a kernel for the AT91RM9200 and enable
          ethernet support, then you should always answer Y to this.
 
-config ARM_KS8695_ETHER
-       tristate "KS8695 Ethernet support"
-       depends on ARM && ARCH_KS8695
-       select MII
-       help
-         If you wish to compile a kernel for the KS8695 and want to
-         use the internal ethernet then you should answer Y to this.
-
 config EP93XX_ETH
        tristate "EP93xx Ethernet support"
        depends on ARM && ARCH_EP93XX
 
 #
 
 obj-$(CONFIG_ARM_AT91_ETHER)   += at91_ether.o
-obj-$(CONFIG_ARM_KS8695_ETHER) += ks8695net.o
 obj-$(CONFIG_EP93XX_ETH)       += ep93xx_eth.o
 obj-$(CONFIG_W90P910_ETH)      += w90p910_ether.o
 
 source "drivers/net/ethernet/xscale/Kconfig"
 source "drivers/net/ethernet/marvell/Kconfig"
 source "drivers/net/ethernet/mellanox/Kconfig"
+source "drivers/net/ethernet/micrel/Kconfig"
 source "drivers/net/ethernet/myricom/Kconfig"
 source "drivers/net/ethernet/natsemi/Kconfig"
 source "drivers/net/ethernet/8390/Kconfig"
 
 obj-$(CONFIG_NET_VENDOR_XSCALE) += xscale/
 obj-$(CONFIG_NET_VENDOR_MARVELL) += marvell/
 obj-$(CONFIG_NET_VENDOR_MELLANOX) += mellanox/
+obj-$(CONFIG_NET_VENDOR_MICREL) += micrel/
 obj-$(CONFIG_NET_VENDOR_MYRI) += myricom/
 obj-$(CONFIG_NET_VENDOR_NATSEMI) += natsemi/
 obj-$(CONFIG_NET_VENDOR_OKI) += oki-semi/
 
--- /dev/null
+#
+# Micrel device configuration
+#
+
+config NET_VENDOR_MICREL
+       bool "Micrel devices"
+       depends on (HAS_IOMEM && DMA_ENGINE) || SPI || PCI || HAS_IOMEM || \
+                  (ARM && ARCH_KS8695)
+       ---help---
+         If you have a network (Ethernet) card belonging to this class, say Y
+         and read the Ethernet-HOWTO, available from
+         <http://www.tldp.org/docs.html#howto>.
+
+         Note that the answer to this question doesn't directly affect the
+         kernel: saying N will just cause the configurator to skip all
+         the questions about Micrel devices. If you say Y, you will be asked
+         for your specific card in the following questions.
+
+if NET_VENDOR_MICREL
+
+config ARM_KS8695_ETHER
+       tristate "KS8695 Ethernet support"
+       depends on ARM && ARCH_KS8695
+       select MII
+       ---help---
+         If you wish to compile a kernel for the KS8695 and want to
+         use the internal ethernet then you should answer Y to this.
+
+config KS8842
+       tristate "Micrel KSZ8841/42 with generic bus interface"
+       depends on HAS_IOMEM && DMA_ENGINE
+       ---help---
+         This platform driver is for KSZ8841(1-port) / KS8842(2-port)
+         ethernet switch chip (managed, VLAN, QoS) from Micrel or
+         Timberdale(FPGA).
+
+config KS8851
+       tristate "Micrel KS8851 SPI"
+       depends on SPI
+       select MII
+       select CRC32
+       ---help---
+         SPI driver for Micrel KS8851 SPI attached network chip.
+
+config KS8851_MLL
+       tristate "Micrel KS8851 MLL"
+       depends on HAS_IOMEM
+       select MII
+       ---help---
+         This platform driver is for Micrel KS8851 Address/data bus
+         multiplexed network chip.
+
+config KSZ884X_PCI
+       tristate "Micrel KSZ8841/2 PCI"
+       depends on PCI
+       select MII
+       select CRC32
+       ---help---
+         This PCI driver is for Micrel KSZ8841/KSZ8842 PCI Ethernet chip.
+
+         To compile this driver as a module, choose M here. The module
+         will be called ksz884x.
+
+endif # NET_VENDOR_MICREL
 
--- /dev/null
+#
+# Makefile for the Micrel network device drivers.
+#
+
+obj-$(CONFIG_ARM_KS8695_ETHER) += ks8695net.o
+obj-$(CONFIG_KS8842) += ks8842.o
+obj-$(CONFIG_KS8851) += ks8851.o
+obj-$(CONFIG_KS8851_MLL) += ks8851_mll.o
+obj-$(CONFIG_KSZ884X_PCI) += ksz884x.o