menuconfig UIO
	tristate "Userspace I/O drivers"
	depends on !S390
	default n
	help
	  Enable this to allow the userspace driver core code to be
	  built.  This code allows userspace programs easy access to
	  kernel interrupts and memory locations, allowing some drivers
	  to be written in userspace.  Note that a small kernel driver
	  is also required for interrupt handling to work properly.

	  If you don't know what to do here, say N.

if UIO

config UIO_CIF
	tristate "generic Hilscher CIF Card driver"
	depends on UIO && PCI
	default n
	help
	  Driver for Hilscher CIF DeviceNet and Profibus cards.  This
	  driver requires a userspace component that handles all of the
	  heavy lifting and can be found at:
	  	http://www.osadl.org/projects/downloads/UIO/user/cif-*

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

config UIO_SMX
	tristate "SMX cryptengine UIO interface"
	depends on UIO
	default n
	help
	  Userspace IO interface to the Cryptography engine found on the
	  Nias Digital SMX boards.  These will be available from Q4 2008
	  from http://www.niasdigital.com.  The userspace part of this
	  driver will be released under the GPL at the same time as the
	  hardware and will be able to be downloaded from the same site.

	  If you compile this as a module, it will be called uio_smx.

endif
