M:     Philip Blundell <philb@gnu.org>
 L:     netdev@vger.kernel.org
 S:     Maintained
-F:     drivers/net/3c505*
+F:     drivers/net/ethernet/i825xx/3c505*
 
 3C59X NETWORK DRIVER
 M:     Steffen Klassert <klassert@mathematik.tu-chemnitz.de>
 F:     arch/arm/include/asm/hardware/iomd.h
 F:     arch/arm/include/asm/hardware/memc.h
 F:     arch/arm/mach-rpc/
-F:     drivers/net/arm/ether*
+F:     drivers/net/arm/ether3*
 F:     drivers/scsi/arm/
 
 ARM/SHARK MACHINE SUPPORT
 M:     Philip Blundell <philb@gnu.org>
 L:     netdev@vger.kernel.org
 S:     Maintained
-F:     drivers/net/eexpress.*
+F:     drivers/net/ethernet/i825xx/eexpress.*
 
 ETHERNET BRIDGE
 M:     Stephen Hemminger <shemminger@linux-foundation.org>
 
          say Y and read the Ethernet-HOWTO, available from
          <http://www.tldp.org/docs.html#howto>.
 
-config MVME16x_NET
-       tristate "MVME16x Ethernet support"
-       depends on MVME16x
-       help
-         This is the driver for the Ethernet interface on the Motorola
-         MVME162, 166, 167, 172 and 177 boards.  Say Y here to include the
-         driver for this chip in your kernel.
-         To compile this driver as a module, choose M here.
-
-config BVME6000_NET
-       tristate "BVME6000 Ethernet support"
-       depends on BVME6000
-       help
-         This is the driver for the Ethernet interface on BVME4000 and
-         BVME6000 VME boards.  Say Y here to include the driver for this chip
-         in your kernel.
-         To compile this driver as a module, choose M here.
-
-config SUN3_82586
-       bool "Sun3 on-board Intel 82586 support"
-       depends on SUN3
-       help
-         This driver enables support for the on-board Intel 82586 based
-         Ethernet adapter found on Sun 3/1xx and 3/2xx motherboards.  Note
-         that this driver does not support 82586-based adapters on additional
-         VME boards.
-
-config LASI_82596
-       tristate "Lasi ethernet"
-       depends on GSC
-       help
-         Say Y here to support the builtin Intel 82596 ethernet controller
-         found in Hewlett-Packard PA-RISC machines with 10Mbit ethernet.
-
-config SNI_82596
-       tristate "SNI RM ethernet"
-       depends on NET_ETHERNET && SNI_RM
-       help
-         Say Y here to support the on-board Intel 82596 ethernet controller
-         built into SNI RM machines.
-
 config KORINA
        tristate "Korina (IDT RC32434) Ethernet support"
        depends on NET_ETHERNET && MIKROTIK_RB532
        help
          Support for virtual network devices under Sun Logical Domains.
 
-config EL2
-       tristate "3c503 \"EtherLink II\" support"
-       depends on ISA
-       select CRC32
-       ---help---
-         If you have a network (Ethernet) card of this type, say Y and read
-         the Ethernet-HOWTO, available from
-         <http://www.tldp.org/docs.html#howto>.
-
-         To compile this driver as a module, choose M here. The module
-         will be called 3c503.
-
-config ELPLUS
-       tristate "3c505 \"EtherLink Plus\" support"
-       depends on ISA && ISA_DMA_API
-       ---help---
-         Information about this network (Ethernet) card can be found in
-         <file:Documentation/networking/3c505.txt>.  If you have a card of
-         this type, say Y and read the Ethernet-HOWTO, available from
-         <http://www.tldp.org/docs.html#howto>.
-
-         To compile this driver as a module, choose M here. The module
-         will be called 3c505.
-
-config EL16
-       tristate "3c507 \"EtherLink 16\" support (EXPERIMENTAL)"
-       depends on ISA && EXPERIMENTAL
-       ---help---
-         If you have a network (Ethernet) card of this type, say Y and read
-         the Ethernet-HOWTO, available from
-         <http://www.tldp.org/docs.html#howto>.
-
-         To compile this driver as a module, choose M here. The module
-         will be called 3c507.
-
-config ELMC
-       tristate "3c523 \"EtherLink/MC\" support"
-       depends on MCA_LEGACY
-       ---help---
-         If you have a network (Ethernet) card of this type, say Y and read
-         the Ethernet-HOWTO, available from
-         <http://www.tldp.org/docs.html#howto>.
-
-         To compile this driver as a module, choose M here. The module
-         will be called 3c523.
-
-config ELMC_II
-       tristate "3c527 \"EtherLink/MC 32\" support (EXPERIMENTAL)"
-       depends on MCA && MCA_LEGACY
-       ---help---
-         If you have a network (Ethernet) card of this type, say Y and read
-         the Ethernet-HOWTO, available from
-         <http://www.tldp.org/docs.html#howto>.
-
-         To compile this driver as a module, choose M here. The module
-         will be called 3c527.
-
 config BFIN_MAC
        tristate "Blackfin on-chip MAC support"
        depends on NET_ETHERNET && (BF516 || BF518 || BF526 || BF527 || BF536 || BF537)
        depends on ISA
        help
          If you have a network (Ethernet) card belonging to this class, such
-         as the NI5010, NI5210 or NI6210, say Y and read the Ethernet-HOWTO,
+         as the NI5010, 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
          To compile this driver as a module, choose M here. The module
          will be called ni5010.
 
-config NI52
-       tristate "NI5210 support"
-       depends on NET_VENDOR_RACAL && ISA
-       help
-         If you have a network (Ethernet) card of this type, say Y and read
-         the Ethernet-HOWTO, available from
-         <http://www.tldp.org/docs.html#howto>.
-
-         To compile this driver as a module, choose M here. The module
-         will be called ni52.
-
 config DNET
        tristate "Dave ethernet support (DNET)"
        depends on NET_ETHERNET && HAS_IOMEM
          To compile this driver as a module, choose M here. The module
          will be called ewrk3.
 
-config EEXPRESS
-       tristate "EtherExpress 16 support"
-       depends on NET_ISA
-       ---help---
-         If you have an EtherExpress16 network (Ethernet) card, say Y and
-         read the Ethernet-HOWTO, available from
-         <http://www.tldp.org/docs.html#howto>.  Note that the Intel
-         EtherExpress16 card used to be regarded as a very poor choice
-         because the driver was very unreliable. We now have a new driver
-         that should do better.
-
-         To compile this driver as a module, choose M here. The module
-         will be called eexpress.
-
-config EEXPRESS_PRO
-       tristate "EtherExpressPro support/EtherExpress 10 (i82595) support"
-       depends on NET_ISA
-       ---help---
-         If you have a network (Ethernet) card of this type, say Y. This
-         driver supports Intel i82595{FX,TX} based boards. Note however
-         that the EtherExpress PRO/100 Ethernet card has its own separate
-         driver.  Please read the Ethernet-HOWTO, available from
-         <http://www.tldp.org/docs.html#howto>.
-
-         To compile this driver as a module, choose M here. The module
-         will be called eepro.
-
-config LP486E
-       tristate "LP486E on board Ethernet"
-       depends on NET_ISA
-       help
-         Say Y here to support the 82596-based on-board Ethernet controller
-         for the Panther motherboard, which is one of the two shipped in the
-         Intel Professional Workstation.
-
 config ETH16I
        tristate "ICL EtherTeam 16i/32 support"
        depends on NET_ISA
          To compile this driver as a module, choose M here. The module
          will be called eth16i.
 
-config ZNET
-       tristate "Zenith Z-Note support (EXPERIMENTAL)"
-       depends on NET_ISA && EXPERIMENTAL && ISA_DMA_API
-       help
-         The Zenith Z-Note notebook computer has a built-in network
-         (Ethernet) card, and this is the Linux driver for it. Note that the
-         IBM Thinkpad 300 is compatible with the Z-Note and is also supported
-         by this driver. Read the Ethernet-HOWTO, available from
-         <http://www.tldp.org/docs.html#howto>.
-
 config SEEQ8005
        tristate "SEEQ8005 support (EXPERIMENTAL)"
        depends on NET_ISA && EXPERIMENTAL
          To compile this driver as a module, choose M here. The module
          will be called ksz884x.
 
-config APRICOT
-       tristate "Apricot Xen-II on board Ethernet"
-       depends on NET_PCI && ISA
-       help
-         If you have a network (Ethernet) controller of this type, say Y and
-         read the Ethernet-HOWTO, available from
-         <http://www.tldp.org/docs.html#howto>.
-
-         To compile this driver as a module, choose M here. The module
-         will be called apricot.
-
 config FORCEDETH
        tristate "nForce Ethernet support"
        depends on NET_PCI && PCI
 
 obj-$(CONFIG_MACVTAP) += macvtap.o
 obj-$(CONFIG_DE600) += de600.o
 obj-$(CONFIG_DE620) += de620.o
-obj-$(CONFIG_SUN3_82586) += sun3_82586.o
 obj-$(CONFIG_DEFXX) += defxx.o
 obj-$(CONFIG_SGISEEQ) += sgiseeq.o
 obj-$(CONFIG_SGI_O2MACE_ETH) += meth.o
 obj-$(CONFIG_AT1700) += at1700.o
-obj-$(CONFIG_EL16) += 3c507.o
-obj-$(CONFIG_ELMC) += 3c523.o
 obj-$(CONFIG_IBMLANA) += ibmlana.o
-obj-$(CONFIG_ELMC_II) += 3c527.o
-obj-$(CONFIG_EEXPRESS) += eexpress.o
-obj-$(CONFIG_EEXPRESS_PRO) += eepro.o
 obj-$(CONFIG_8139CP) += 8139cp.o
 obj-$(CONFIG_8139TOO) += 8139too.o
-obj-$(CONFIG_ZNET) += znet.o
 obj-$(CONFIG_CPMAC) += cpmac.o
 obj-$(CONFIG_EWRK3) += ewrk3.o
 obj-$(CONFIG_ATP) += atp.o
 obj-$(CONFIG_NI5010) += ni5010.o
-obj-$(CONFIG_NI52) += ni52.o
-obj-$(CONFIG_ELPLUS) += 3c505.o
-obj-$(CONFIG_APRICOT) += 82596.o
-obj-$(CONFIG_LASI_82596) += lasi_82596.o
-obj-$(CONFIG_SNI_82596) += sni_82596.o
-obj-$(CONFIG_MVME16x_NET) += 82596.o
-obj-$(CONFIG_BVME6000_NET) += 82596.o
 obj-$(CONFIG_SC92031) += sc92031.o
 
-# This is also a 82596 and should probably be merged
-obj-$(CONFIG_LP486E) += lp486e.o
-
 obj-$(CONFIG_ETH16I) += eth16i.o
 obj-$(CONFIG_EQUALIZER) += eql.o
 obj-$(CONFIG_KORINA) += korina.o
 
 #  These are for Acorn's Expansion card network interfaces
 #
 
-config ARM_ETHER1
-       tristate "Acorn Ether1 support"
-       depends on ARM && ARCH_ACORN
-       help
-         If you have an Acorn system with one of these (AKA25) network cards,
-         you should say Y to this option if you wish to use it with Linux.
-
 config ARM_ETHER3
        tristate "Acorn/ANT Ether3 support"
        depends on ARM && ARCH_ACORN
 
 #
 
 obj-$(CONFIG_ARM_ETHER3)       += ether3.o
-obj-$(CONFIG_ARM_ETHER1)       += ether1.o
 obj-$(CONFIG_ARM_AT91_ETHER)   += at91_ether.o
 obj-$(CONFIG_ARM_KS8695_ETHER) += ks8695net.o
 obj-$(CONFIG_EP93XX_ETH)       += ep93xx_eth.o
 
 source "drivers/net/ethernet/broadcom/Kconfig"
 source "drivers/net/ethernet/chelsio/Kconfig"
 source "drivers/net/ethernet/intel/Kconfig"
+source "drivers/net/ethernet/i825xx/Kconfig"
 source "drivers/net/ethernet/qlogic/Kconfig"
 source "drivers/net/ethernet/smsc/Kconfig"
 
 
 obj-$(CONFIG_NET_VENDOR_BROADCOM) += broadcom/
 obj-$(CONFIG_NET_VENDOR_CHELSIO) += chelsio/
 obj-$(CONFIG_NET_VENDOR_INTEL) += intel/
+obj-$(CONFIG_NET_VENDOR_I825XX) += i825xx/
 obj-$(CONFIG_NET_VENDOR_QLOGIC) += qlogic/
 obj-$(CONFIG_NET_VENDOR_SMSC) += smsc/
 
--- /dev/null
+#
+# Intel 82596/82593/82596 network device configuration
+#
+
+config NET_VENDOR_I825XX
+       bool "Intel (82586/82593/82596) devices"
+       depends on NET_VENDOR_INTEL && (ISA || ISA_DMA_API || ARM || \
+                  ARCH_ACORN || MCA || MCA_LEGACY || SNI_RM || SUN3 || \
+                  GSC || BVME6000 || MVME16x || EXPERIMENTAL)
+       ---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 these devices. If you say Y, you will be asked for
+         your specific card in the following questions.
+
+if NET_VENDOR_I825XX
+
+config ELPLUS
+       tristate "3c505 \"EtherLink Plus\" support"
+       depends on ISA && ISA_DMA_API
+       ---help---
+         Information about this network (Ethernet) card can be found in
+         <file:Documentation/networking/3c505.txt>.  If you have a card of
+         this type, say Y and read the Ethernet-HOWTO, available from
+         <http://www.tldp.org/docs.html#howto>.
+
+         To compile this driver as a module, choose M here. The module
+         will be called 3c505.
+
+config EL16
+       tristate "3c507 \"EtherLink 16\" support (EXPERIMENTAL)"
+       depends on ISA && EXPERIMENTAL
+       ---help---
+         If you have a network (Ethernet) card of this type, say Y and read
+         the Ethernet-HOWTO, available from
+         <http://www.tldp.org/docs.html#howto>.
+
+         To compile this driver as a module, choose M here. The module
+         will be called 3c507.
+
+config ELMC
+       tristate "3c523 \"EtherLink/MC\" support"
+       depends on MCA_LEGACY
+       ---help---
+         If you have a network (Ethernet) card of this type, say Y and read
+         the Ethernet-HOWTO, available from
+         <http://www.tldp.org/docs.html#howto>.
+
+         To compile this driver as a module, choose M here. The module
+         will be called 3c523.
+
+config ELMC_II
+       tristate "3c527 \"EtherLink/MC 32\" support (EXPERIMENTAL)"
+       depends on MCA && MCA_LEGACY
+       ---help---
+         If you have a network (Ethernet) card of this type, say Y and read
+         the Ethernet-HOWTO, available from
+         <http://www.tldp.org/docs.html#howto>.
+
+         To compile this driver as a module, choose M here. The module
+         will be called 3c527.
+
+config ARM_ETHER1
+       tristate "Acorn Ether1 support"
+       depends on ARM && ARCH_ACORN
+       ---help---
+         If you have an Acorn system with one of these (AKA25) network cards,
+         you should say Y to this option if you wish to use it with Linux.
+
+config APRICOT
+       tristate "Apricot Xen-II on board Ethernet"
+       depends on ISA
+       ---help---
+         If you have a network (Ethernet) controller of this type, say Y and
+         read the Ethernet-HOWTO, available from
+         <http://www.tldp.org/docs.html#howto>.
+
+         To compile this driver as a module, choose M here. The module
+         will be called apricot.
+
+config BVME6000_NET
+       tristate "BVME6000 Ethernet support"
+       depends on BVME6000MVME16x
+       ---help---
+         This is the driver for the Ethernet interface on BVME4000 and
+         BVME6000 VME boards.  Say Y here to include the driver for this chip
+         in your kernel.
+         To compile this driver as a module, choose M here.
+
+config EEXPRESS
+       tristate "EtherExpress 16 support"
+       depends on ISA
+       ---help---
+         If you have an EtherExpress16 network (Ethernet) card, say Y and
+         read the Ethernet-HOWTO, available from
+         <http://www.tldp.org/docs.html#howto>.  Note that the Intel
+         EtherExpress16 card used to be regarded as a very poor choice
+         because the driver was very unreliable. We now have a new driver
+         that should do better.
+
+         To compile this driver as a module, choose M here. The module
+         will be called eexpress.
+
+config EEXPRESS_PRO
+       tristate "EtherExpressPro support/EtherExpress 10 (i82595) support"
+       depends on ISA
+       ---help---
+         If you have a network (Ethernet) card of this type, say Y. This
+         driver supports Intel i82595{FX,TX} based boards. Note however
+         that the EtherExpress PRO/100 Ethernet card has its own separate
+         driver.  Please read the Ethernet-HOWTO, available from
+         <http://www.tldp.org/docs.html#howto>.
+
+         To compile this driver as a module, choose M here. The module
+         will be called eepro.
+
+config LASI_82596
+       tristate "Lasi ethernet"
+       depends on GSC
+       ---help---
+         Say Y here to support the builtin Intel 82596 ethernet controller
+         found in Hewlett-Packard PA-RISC machines with 10Mbit ethernet.
+
+config LP486E
+       tristate "LP486E on board Ethernet"
+       depends on ISA
+       ---help---
+         Say Y here to support the 82596-based on-board Ethernet controller
+         for the Panther motherboard, which is one of the two shipped in the
+         Intel Professional Workstation.
+
+config MVME16x_NET
+       tristate "MVME16x Ethernet support"
+       depends on MVME16x
+       ---help---
+         This is the driver for the Ethernet interface on the Motorola
+         MVME162, 166, 167, 172 and 177 boards.  Say Y here to include the
+         driver for this chip in your kernel.
+         To compile this driver as a module, choose M here.
+
+config NI52
+       tristate "NI5210 support"
+       depends on ISA
+       ---help---
+         If you have a network (Ethernet) card of this type, say Y and read
+         the Ethernet-HOWTO, available from
+         <http://www.tldp.org/docs.html#howto>.
+
+         To compile this driver as a module, choose M here. The module
+         will be called ni52.
+
+config SNI_82596
+       tristate "SNI RM ethernet"
+       depends on SNI_RM
+       ---help---
+         Say Y here to support the on-board Intel 82596 ethernet controller
+         built into SNI RM machines.
+
+config SUN3_82586
+       bool "Sun3 on-board Intel 82586 support"
+       depends on SUN3
+       ---help---
+         This driver enables support for the on-board Intel 82586 based
+         Ethernet adapter found on Sun 3/1xx and 3/2xx motherboards.  Note
+         that this driver does not support 82586-based adapters on additional
+         VME boards.
+
+config ZNET
+       tristate "Zenith Z-Note support (EXPERIMENTAL)"
+       depends on EXPERIMENTAL && ISA_DMA_API
+       ---help---
+         The Zenith Z-Note notebook computer has a built-in network
+         (Ethernet) card, and this is the Linux driver for it. Note that the
+         IBM Thinkpad 300 is compatible with the Z-Note and is also supported
+         by this driver. Read the Ethernet-HOWTO, available from
+         <http://www.tldp.org/docs.html#howto>.
+
+endif # NET_VENDOR_I825XX
 
--- /dev/null
+#
+# Makefile for the Intel 82586/82593/82596 chipset device drivers.
+#
+
+obj-$(CONFIG_ARM_ETHER1) += ether1.o
+obj-$(CONFIG_EEXPRESS) += eexpress.o
+obj-$(CONFIG_EEXPRESS_PRO) += eepro.o
+obj-$(CONFIG_ELPLUS) += 3c505.o
+obj-$(CONFIG_EL16) += 3c507.o
+obj-$(CONFIG_ELMC) += 3c523.o
+obj-$(CONFIG_ELMC_II) += 3c527.o
+obj-$(CONFIG_LP486E) += lp486e.o
+obj-$(CONFIG_NI52) += ni52.o
+obj-$(CONFIG_SUN3_82586) += sun3_82586.o
+obj-$(CONFIG_ZNET) += znet.o
+obj-$(CONFIG_APRICOT) += 82596.o
+obj-$(CONFIG_LASI_82596) += lasi_82596.o
+obj-$(CONFIG_SNI_82596) += sni_82596.o
+obj-$(CONFIG_MVME16x_NET) += 82596.o
+obj-$(CONFIG_BVME6000_NET) += 82596.o