#
# Cirrus network device configuration
#

config NET_VENDOR_CIRRUS
	bool "Cirrus devices"
	default y
	depends on ISA || EISA || ARM || MAC
	---help---
	  If you have a network (Ethernet) card belonging to this class, say Y.

	  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 Cirrus cards. If you say Y, you will be asked
	  for your specific card in the following questions.

if NET_VENDOR_CIRRUS

config CS89x0
	tristate "CS89x0 support"
	depends on ISA || EISA || ARM
	depends on !PPC32
	---help---
	  Support for CS89x0 chipset based Ethernet cards. If you have a
	  network (Ethernet) card of this type, say Y and read the file
	  <file:Documentation/networking/cs89x0.txt>.

	  To compile this driver as a module, choose M here. The module
	  will be called cs89x0.

config CS89x0_PLATFORM
	bool "CS89x0 platform driver support" if HAS_IOPORT_MAP
	default !HAS_IOPORT_MAP
	depends on CS89x0
	help
	  Say Y to compile the cs89x0 driver as a platform driver. This
	  makes this driver suitable for use on certain evaluation boards
	  such as the iMX21ADS.

	  If you are unsure, say N.

config EP93XX_ETH
	tristate "EP93xx Ethernet support"
	depends on ARM && ARCH_EP93XX
	select MII
	help
	  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 MAC89x0
	tristate "Macintosh CS89x0 based ethernet cards"
	depends on MAC
	---help---
	  Support for CS89x0 chipset based Ethernet cards.  If you have a
	  Nubus or LC-PDS network (Ethernet) card of this type, say Y here.

	  To compile this driver as a module, choose M here. This module will
	  be called mac89x0.

endif # NET_VENDOR_CIRRUS
