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

config AD7150
	tristate "Analog Devices ad7150/1/6 capacitive sensor driver"
	depends on I2C
	help
	  Say yes here to build support for Analog Devices capacitive sensors.
	  (ad7150, ad7151, ad7156) Provides direct access via sysfs.

config AD7152
	tristate "Analog Devices ad7152/3 capacitive sensor driver"
	depends on I2C
	help
	  Say yes here to build support for Analog Devices capacitive sensors.
	  (ad7152, ad7153) Provides direct access via sysfs.

config AD7291
	tristate "Analog Devices AD7291 temperature sensor driver"
	depends on I2C
	help
	  Say yes here to build support for Analog Devices AD7291
	  temperature sensors.

config AD7298
	tristate "Analog Devices AD7298 ADC driver"
	depends on SPI
	help
	  Say yes here to build support for Analog Devices AD7298
	  8 Channel ADC with temperature sensor.

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

config AD7314
	tristate "Analog Devices AD7314 temperature sensor driver"
	depends on SPI
	help
	  Say yes here to build support for Analog Devices AD7314
	  temperature sensors.

config AD7606
	tristate "Analog Devices AD7606 ADC driver"
	depends on GPIOLIB
	select IIO_RING_BUFFER
	select IIO_TRIGGER
	select IIO_SW_RING
	help
	  Say yes here to build support for Analog Devices:
	  ad7606, ad7606-6, ad7606-4 analog to digital convertors (ADC).

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

config AD7606_IFACE_PARALLEL
	tristate "parallel interface support"
	depends on AD7606
	help
	  Say yes here to include parallel interface support on the AD7606
	  ADC driver.

config AD7606_IFACE_SPI
	tristate "spi interface support"
	depends on AD7606
	depends on SPI
	help
	  Say yes here to include parallel interface support on the AD7606
	  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.

config AD7887
	tristate "Analog Devices AD7887 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
	  AD7887 SPI analog to digital convertor (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 ad7887.

config AD7780
	tristate "Analog Devices AD7780 AD7781 ADC driver"
	depends on SPI
	depends on GPIOLIB
	help
	  Say yes here to build support for Analog Devices
	  AD7780 and AD7781 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 ad7780.

config AD7793
	tristate "Analog Devices AD7792 AD7793 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
	  AD7792 and AD7793 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 AD7793.

config AD7745
	tristate "Analog Devices AD7745, AD7746 AD7747 capacitive sensor driver"
	depends on I2C
	help
	  Say yes here to build support for Analog Devices capacitive sensors.
	  (AD7745, AD7746, AD7747) Provides direct access via sysfs.

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

config AD7816
	tristate "Analog Devices AD7816/7/8 temperature sensor and ADC driver"
	depends on SPI
	help
	  Say yes here to build support for Analog Devices AD7816/7/8
	  temperature sensors and ADC.

config ADT75
	tristate "Analog Devices ADT75 temperature sensor driver"
	depends on I2C
	help
	  Say yes here to build support for Analog Devices ADT75
	  temperature sensors.

config ADT7310
	tristate "Analog Devices ADT7310 temperature sensor driver"
	depends on SPI
	help
	  Say yes here to build support for Analog Devices ADT7310
	  temperature sensors.

config ADT7410
	tristate "Analog Devices ADT7410 temperature sensor driver"
	depends on I2C
	help
	  Say yes here to build support for Analog Devices ADT7410
	  temperature sensors.

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, max11644, max11645,
	  max11646, max11647) 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.
