#
# ADC drivers
#
comment "Analog to digital convertors"

config MAX1363
	tristate "MAXIM max1363 ADC driver"
	depends on I2C
	select IIO_TRIGGER if IIO_RING_BUFFER
	select MAX1363_RING_BUFFER
	help
	  Say yes here to build support for many MAXIM i2c analog to digital
	  convertors (ADC). (max1361, max1362, max1363, max1364, max1036,
	  max1037, max1038, max1039, max1136, max1136, max1137, max1138,
	  max1139, max1236, max1237, max11238, max1239, max11600, max11601,
	  max11602, max11603, max11604, max11605, max11606, max11607,
	  max11608, max11609, max11610, max11611, max11612, max11613,
	  max11614, max11615, max11616, max11617) Provides direct access
	  via sysfs.

config MAX1363_RING_BUFFER
	bool "MAXIM max1363: use ring buffer"
	depends on MAX1363
	select IIO_RING_BUFFER
	select IIO_SW_RING
	help
	  Say yes here to include ring buffer support in the MAX1363
	  ADC driver.

config AD799X
	tristate "Analog Devices AD799x ADC driver"
	depends on I2C
	select IIO_TRIGGER if IIO_RING_BUFFER
	select AD799X_RING_BUFFER
	help
	  Say yes here to build support for Analog Devices:
	  ad7991, ad7995, ad7999, ad7992, ad7993, ad7994, ad7997, ad7998
	  i2c analog to digital convertors (ADC). Provides direct access
	  via sysfs.

config AD799X_RING_BUFFER
	bool "Analog Devices AD799x: use ring buffer"
	depends on AD799X
	select IIO_RING_BUFFER
	select IIO_SW_RING
	help
	  Say yes here to include ring buffer support in the AD799X
	  ADC driver.

config AD7476
	tristate "Analog Devices AD7475/6/7/8 AD7466/7/8 and AD7495 ADC driver"
	depends on SPI
	select IIO_RING_BUFFER	
	select IIO_SW_RING
	select IIO_TRIGGER 	
	help
	  Say yes here to build support for Analog Devices
	  AD7475, AD7476, AD7477, AD7478, AD7466, AD7467, AD7468, AD7495
	  SPI analog to digital convertors (ADC).
	  If unsure, say N (but it's safe to say "Y").

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