#
# PCMCIA Network device configuration
#

menuconfig NET_PCMCIA
	bool "PCMCIA network device support"
	depends on PCMCIA
	---help---
	  Say Y if you would like to include support for any PCMCIA or CardBus
	  network adapters, then say Y to the driver for your particular card
	  below.  PCMCIA- or PC-cards are credit-card size devices often used
	  with laptops computers; CardBus is the newer and faster version of
	  PCMCIA.

	  To use your PC-cards, you will need supporting software from David
	  Hinds' pcmcia-cs package (see the file <file:Documentation/Changes>
	  for location).  You also want to check out the PCMCIA-HOWTO,
	  available from <http://www.tldp.org/docs.html#howto>.

	  If unsure, say N.

if NET_PCMCIA && PCMCIA

config PCMCIA_FMVJ18X
	tristate "Fujitsu FMV-J18x PCMCIA support"
	select CRC32
	help
	  Say Y here if you intend to attach a Fujitsu FMV-J18x or compatible
	  PCMCIA (PC-card) Ethernet card to your computer.

	  To compile this driver as a module, choose M here: the module will be
	  called fmvj18x_cs.  If unsure, say N.

config PCMCIA_XIRC2PS
	tristate "Xircom 16-bit PCMCIA support"
	help
	  Say Y here if you intend to attach a Xircom 16-bit PCMCIA (PC-card)
	  Ethernet or Fast Ethernet card to your computer.

	  To compile this driver as a module, choose M here: the module will be
	  called xirc2ps_cs.  If unsure, say N.

config ARCNET_COM20020_CS
	tristate "COM20020 ARCnet PCMCIA support"
	depends on ARCNET_COM20020
	help
	  Say Y here if you intend to attach this type of ARCnet PCMCIA card
	  to your computer.

	  To compile this driver as a module, choose M here: the module will be
	  called com20020_cs.  If unsure, say N.

config PCMCIA_IBMTR
	tristate "IBM PCMCIA tokenring adapter support"
	depends on IBMTR!=y && TR
	help
	  Say Y here if you intend to attach this type of Token Ring PCMCIA
	  card to your computer. You then also need to say Y to "Token Ring
	  driver support".

	  To compile this driver as a module, choose M here: the module will be
	  called ibmtr_cs.

endif # NET_PCMCIA
