if NETDEVICES

if WAN

config PC300
	tristate "Cyclades-PC300 support (RS-232/V.35, X.21, T1/E1 boards)"
	depends on HDLC && PCI && BROKEN
	---help---
	  This driver is broken because of struct tty_driver change.

	  Driver for the Cyclades-PC300 synchronous communication boards.

	  These boards provide synchronous serial interfaces to your
	  Linux box (interfaces currently available are RS-232/V.35, X.21 and
	  T1/E1). If you wish to support Multilink PPP, please select the
	  option later and read the file README.mlppp provided by PC300
	  package.

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

	  If unsure, say N.

config PC300_MLPPP
	bool "Cyclades-PC300 MLPPP support"
	depends on PC300 && PPP_MULTILINK && PPP_SYNC_TTY && HDLC_PPP
	help
	  Multilink PPP over the PC300 synchronous communication boards.

comment "Cyclades-PC300 MLPPP support is disabled."
	depends on HDLC && PC300 && (PPP=n || !PPP_MULTILINK || PPP_SYNC_TTY=n || !HDLC_PPP)

comment "Refer to the file README.mlppp, provided by PC300 package."
	depends on HDLC && PC300 && (PPP=n || !PPP_MULTILINK || PPP_SYNC_TTY=n || !HDLC_PPP)

endif # WAN

endif # NETDEVICES
