# 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_HX9023S)		+= hx9023s.o
obj-$(CONFIG_IRSD200)		+= irsd200.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_SX9324)		+= sx9324.o
obj-$(CONFIG_SX9360)		+= sx9360.o
obj-$(CONFIG_SX_COMMON) 	+= sx_common.o
obj-$(CONFIG_SX9500)		+= sx9500.o
obj-$(CONFIG_VCNL3020)		+= vcnl3020.o
obj-$(CONFIG_VL53L0X_I2C)	+= vl53l0x-i2c.o
obj-$(CONFIG_AW96103)		+= aw96103.o

