# SPDX-License-Identifier: GPL-2.0-only
#
# STMicroelectonics LIS3LV02D and similar accelerometers
#

config SENSORS_LIS3_SPI
	tristate "STMicroeletronics LIS3LV02Dx three-axis digital accelerometer (SPI)"
	depends on !ACPI && SPI_MASTER && INPUT
	select SENSORS_LIS3LV02D
	default n
	help
	  This driver provides support for the LIS3LV02Dx accelerometer connected
	  via SPI. The accelerometer data is readable via
	  /sys/devices/platform/lis3lv02d.

	  This driver also provides an absolute input class device, allowing
	  the laptop to act as a pinball machine-esque joystick.

	  This driver can also be built as modules.  If so, the core module
	  will be called lis3lv02d and a specific module for the SPI transport
	  is called lis3lv02d_spi.

config SENSORS_LIS3_I2C
	tristate "STMicroeletronics LIS3LV02Dx three-axis digital accelerometer (I2C)"
	depends on I2C && INPUT
	select SENSORS_LIS3LV02D
	default n
	help
	  This driver provides support for the LIS3LV02Dx accelerometer connected
	  via I2C. The accelerometer data is readable via
	  /sys/devices/platform/lis3lv02d.

	  This driver also provides an absolute input class device, allowing
	  the device to act as a pinball machine-esque joystick.

	  This driver can also be built as modules.  If so, the core module
	  will be called lis3lv02d and a specific module for the I2C transport
	  is called lis3lv02d_i2c.
