#
# Phonet protocol
#

config PHONET
	tristate "Phonet protocols family"
	help
	  The Phone Network protocol (PhoNet) is a packet-oriented
	  communication protocol developed by Nokia for use with its modems.

	  This is required for Maemo to use cellular data connectivity (if
	  supported). It can also be used to control Nokia phones
	  from a Linux computer, although AT commands may be easier to use.

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

config PHONET_PIPECTRLR
	bool "Phonet Pipe Controller (EXPERIMENTAL)"
	depends on PHONET && EXPERIMENTAL
	default N
	help
	  The Pipe Controller implementation in Phonet stack to support Pipe
	  data with Nokia Slim modems like WG2.5 used on ST-Ericsson U8500
	  platform.

	  This option is incompatible with older Nokia modems.
	  Say N here unless you really know what you are doing.
