F:     arch/arm/mach-ixp4xx/include/mach/npe.h
 F:     arch/arm/mach-ixp4xx/ixp4xx_qmgr.c
 F:     arch/arm/mach-ixp4xx/ixp4xx_npe.c
-F:     drivers/net/arm/ixp4xx_eth.c
+F:     drivers/net/ethernet/xscale/ixp4xx_eth.c
 F:     drivers/net/wan/ixp4xx_hss.c
 
 INTEL IXP4XX RANDOM NUMBER GENERATOR SUPPORT
 M:     Lennert Buytenhek <kernel@wantstofly.org>
 L:     netdev@vger.kernel.org
 S:     Maintained
-F:     drivers/net/ixp2000/
+F:     drivers/net/ethernet/xscale/ixp2000/
 
 INTEL ETHERNET DRIVERS (e100/e1000/e1000e/igb/igbvf/ixgb/ixgbe/ixgbevf)
 M:     Jeff Kirsher <jeffrey.t.kirsher@intel.com>
 
          To compile this driver as a module, choose M here: the module
          will be called ipg.  This is recommended.
 
-source "drivers/net/ixp2000/Kconfig"
-
 config HAMACHI
        tristate "Packet Engines Hamachi GNIC-II support"
        depends on PCI
 
 obj-$(CONFIG_HAMRADIO) += hamradio/
 obj-$(CONFIG_IRDA) += irda/
 obj-$(CONFIG_ETRAX_ETHERNET) += cris/
-obj-$(CONFIG_ENP2611_MSF_NET) += ixp2000/
 
 obj-$(CONFIG_NETCONSOLE) += netconsole.o
 
 
          This is a driver for the ethernet hardware included in EP93xx CPUs.
          Say Y if you are building a kernel for EP93xx based devices.
 
-config IXP4XX_ETH
-       tristate "Intel IXP4xx Ethernet support"
-       depends on ARM && ARCH_IXP4XX && IXP4XX_NPE && IXP4XX_QMGR
-       select PHYLIB
-       help
-         Say Y here if you want to use built-in Ethernet ports
-         on IXP4xx processor.
-
 config W90P910_ETH
        tristate "Nuvoton w90p910 Ethernet support"
        depends on ARM && ARCH_W90X900
 
 obj-$(CONFIG_ARM_AT91_ETHER)   += at91_ether.o
 obj-$(CONFIG_ARM_KS8695_ETHER) += ks8695net.o
 obj-$(CONFIG_EP93XX_ETH)       += ep93xx_eth.o
-obj-$(CONFIG_IXP4XX_ETH)       += ixp4xx_eth.o
 obj-$(CONFIG_W90P910_ETH)      += w90p910_ether.o
 
 source "drivers/net/ethernet/ibm/Kconfig"
 source "drivers/net/ethernet/intel/Kconfig"
 source "drivers/net/ethernet/i825xx/Kconfig"
+source "drivers/net/ethernet/xscale/Kconfig"
 source "drivers/net/ethernet/mellanox/Kconfig"
 source "drivers/net/ethernet/myricom/Kconfig"
 source "drivers/net/ethernet/natsemi/Kconfig"
 
 obj-$(CONFIG_NET_VENDOR_IBM) += ibm/
 obj-$(CONFIG_NET_VENDOR_INTEL) += intel/
 obj-$(CONFIG_NET_VENDOR_I825XX) += i825xx/
+obj-$(CONFIG_NET_VENDOR_XSCALE) += xscale/
 obj-$(CONFIG_NET_VENDOR_MELLANOX) += mellanox/
 obj-$(CONFIG_NET_VENDOR_MYRI) += myricom/
 obj-$(CONFIG_NET_VENDOR_NATSEMI) += natsemi/
 
--- /dev/null
+#
+# Intel XScale IXP device configuration
+#
+
+config NET_VENDOR_XSCALE
+       bool "Intel XScale IXP devices"
+       depends on NET_VENDOR_INTEL && ((ARM && ARCH_IXP4XX && \
+                  IXP4XX_NPE && IXP4XX_QMGR) || ARCH_ENP2611)
+       ---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 does not directly affect the
+         kernel: saying N will just cause the configurator to skip all
+         the questions about XSacle IXP devices. If you say Y, you will be
+         asked for your specific card in the following questions.
+
+if NET_VENDOR_XSCALE
+
+config IXP4XX_ETH
+       tristate "Intel IXP4xx Ethernet support"
+       depends on ARM && ARCH_IXP4XX && IXP4XX_NPE && IXP4XX_QMGR
+       select PHYLIB
+       ---help---
+         Say Y here if you want to use built-in Ethernet ports
+         on IXP4xx processor.
+
+source "drivers/net/ethernet/xscale/ixp2000/Kconfig"
+
+endif # NET_VENDOR_XSCALE
 
--- /dev/null
+#
+# Makefile for the Intel XScale IXP device drivers.
+#
+
+obj-$(CONFIG_ENP2611_MSF_NET) += ixp2000/
+obj-$(CONFIG_IXP4XX_ETH) += ixp4xx_eth.o
 
 config ENP2611_MSF_NET
        tristate "Radisys ENP2611 MSF network interface support"
        depends on ARCH_ENP2611
-       help
+       ---help---
          This is a driver for the MSF network interface unit in
          the IXP2400 on the Radisys ENP2611 platform.