#
# Accelerometer drivers
#
menu "Accelerometers"

config ADIS16201
	tristate "Analog Devices ADIS16201 Dual-Axis Digital Inclinometer and Accelerometer"
	depends on SPI
	select IIO_ADIS_LIB
	select IIO_ADIS_LIB_BUFFER if IIO_BUFFER
	help
	  Say Y here to build support for Analog Devices adis16201 dual-axis
	  digital inclinometer and accelerometer.

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

config ADIS16203
	tristate "Analog Devices ADIS16203 Programmable 360 Degrees Inclinometer"
	depends on SPI
	select IIO_ADIS_LIB
	select IIO_ADIS_LIB_BUFFER if IIO_BUFFER
	help
	  Say Y here to build support for Analog Devices adis16203 Programmable
	  360 Degrees Inclinometer.

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

config ADIS16209
	tristate "Analog Devices ADIS16209 Dual-Axis Digital Inclinometer and Accelerometer"
	depends on SPI
	select IIO_ADIS_LIB
	select IIO_ADIS_LIB_BUFFER if IIO_BUFFER
	help
	  Say Y here to build support for Analog Devices adis16209 dual-axis digital inclinometer
	  and accelerometer.

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

config ADIS16240
	tristate "Analog Devices ADIS16240 Programmable Impact Sensor and Recorder"
	depends on SPI
	select IIO_ADIS_LIB
	select IIO_ADIS_LIB_BUFFER if IIO_BUFFER
	help
	  Say Y here to build support for Analog Devices adis16240 programmable
	  impact Sensor and recorder.

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

config LIS3L02DQ
	tristate "ST Microelectronics LIS3L02DQ Accelerometer Driver"
	depends on SPI
	select IIO_TRIGGER if IIO_BUFFER
	depends on !IIO_BUFFER || IIO_KFIFO_BUF
	depends on GPIOLIB || COMPILE_TEST
	help
	  Say Y here to build SPI support for the ST microelectronics
	  accelerometer. The driver supplies direct access via sysfs files
	  and an event interface via a character device.

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

config SCA3000
	depends on IIO_BUFFER
	depends on SPI
	tristate "VTI SCA3000 series accelerometers"
	help
	  Say Y here to build support for the VTI SCA3000 series of SPI
	  accelerometers. These devices use a hardware ring buffer.

	  To compile this driver as a module, say M here: the module will be
	  called sca3000.
endmenu
