# SPDX-License-Identifier: GPL-2.0
#
# Makefile for IIO proximity sensors
#

# When adding new entries keep the list in alphabetical order
obj-$(CONFIG_AS3935)		+= as3935.o
obj-$(CONFIG_CROS_EC_MKBP_PROXIMITY) += cros_ec_mkbp_proximity.o
obj-$(CONFIG_ISL29501)		+= isl29501.o
obj-$(CONFIG_LIDAR_LITE_V2)	+= pulsedlight-lidar-lite-v2.o
obj-$(CONFIG_MB1232)		+= mb1232.o
obj-$(CONFIG_PING)		+= ping.o
obj-$(CONFIG_RFD77402)		+= rfd77402.o
obj-$(CONFIG_SRF04)		+= srf04.o
obj-$(CONFIG_SRF08)		+= srf08.o
obj-$(CONFIG_SX9310)		+= sx9310.o
obj-$(CONFIG_SX9500)		+= sx9500.o
obj-$(CONFIG_VCNL3020)		+= vcnl3020.o
obj-$(CONFIG_VL53L0X_I2C)	+= vl53l0x-i2c.o

