#
# humidity sensor drivers
#
menu "Humidity sensors"

config DHT11
	tristate "DHT11 (and compatible sensors) driver"
	depends on GPIOLIB || COMPILE_TEST
	help
	  This driver supports reading data via a single interrupt
	  generating GPIO line. Currently tested are DHT11 and DHT22.
	  Other sensors should work as well as long as they speak the
	  same protocol.

config HDC100X
	tristate "TI HDC100x relative humidity and temperature sensor"
	depends on I2C
	help
	 Say yes here to build support for the TI HDC100x series of
	 relative humidity and temperature sensors.

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

config HTU21
	tristate "Measurement Specialties HTU21 humidity & temperature sensor"
	depends on I2C
        select IIO_MS_SENSORS_I2C
	help
	  If you say yes here you get support for the Measurement Specialties
	  HTU21 humidity and temperature sensor.

	  This driver can also be built as a module. If so, the module will
	  be called htu21.

config SI7005
	tristate "SI7005 relative humidity and temperature sensor"
	depends on I2C
	help
	  Say yes here to build support for the Silabs Si7005 relative
	  humidity and temperature sensor.

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

config SI7020
	tristate "Si7013/20/21 Relative Humidity and Temperature Sensors"
	depends on I2C
	help
	  Say yes here to build support for the Silicon Labs Si7013/20/21
	  Relative Humidity and Temperature Sensors.

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

endmenu
