# SPDX-License-Identifier: GPL-2.0
#
# Makefile for the input misc drivers.
#

# Each configuration option enables a list of files.

obj-$(CONFIG_INPUT_88PM860X_ONKEY)	+= 88pm860x_onkey.o
obj-$(CONFIG_INPUT_88PM80X_ONKEY)	+= 88pm80x_onkey.o
obj-$(CONFIG_INPUT_AB8500_PONKEY)	+= ab8500-ponkey.o
obj-$(CONFIG_INPUT_AD714X)		+= ad714x.o
obj-$(CONFIG_INPUT_AD714X_I2C)		+= ad714x-i2c.o
obj-$(CONFIG_INPUT_AD714X_SPI)		+= ad714x-spi.o
obj-$(CONFIG_INPUT_ADXL34X)		+= adxl34x.o
obj-$(CONFIG_INPUT_ADXL34X_I2C)		+= adxl34x-i2c.o
obj-$(CONFIG_INPUT_ADXL34X_SPI)		+= adxl34x-spi.o
obj-$(CONFIG_INPUT_APANEL)		+= apanel.o
obj-$(CONFIG_INPUT_ARIZONA_HAPTICS)	+= arizona-haptics.o
obj-$(CONFIG_INPUT_ATI_REMOTE2)		+= ati_remote2.o
obj-$(CONFIG_INPUT_ATLAS_BTNS)		+= atlas_btns.o
obj-$(CONFIG_INPUT_ATMEL_CAPTOUCH)	+= atmel_captouch.o
obj-$(CONFIG_INPUT_BMA150)		+= bma150.o
obj-$(CONFIG_INPUT_CM109)		+= cm109.o
obj-$(CONFIG_INPUT_CMA3000)		+= cma3000_d0x.o
obj-$(CONFIG_INPUT_CMA3000_I2C)		+= cma3000_d0x_i2c.o
obj-$(CONFIG_INPUT_COBALT_BTNS)		+= cobalt_btns.o
obj-$(CONFIG_INPUT_CPCAP_PWRBUTTON)	+= cpcap-pwrbutton.o
obj-$(CONFIG_INPUT_DA9052_ONKEY)	+= da9052_onkey.o
obj-$(CONFIG_INPUT_DA9055_ONKEY)	+= da9055_onkey.o
obj-$(CONFIG_INPUT_DA9063_ONKEY)	+= da9063_onkey.o
obj-$(CONFIG_INPUT_DM355EVM)		+= dm355evm_keys.o
obj-$(CONFIG_INPUT_E3X0_BUTTON)		+= e3x0-button.o
obj-$(CONFIG_INPUT_DRV260X_HAPTICS)	+= drv260x.o
obj-$(CONFIG_INPUT_DRV2665_HAPTICS)	+= drv2665.o
obj-$(CONFIG_INPUT_DRV2667_HAPTICS)	+= drv2667.o
obj-$(CONFIG_INPUT_GP2A)		+= gp2ap002a00f.o
obj-$(CONFIG_INPUT_GPIO_BEEPER)		+= gpio-beeper.o
obj-$(CONFIG_INPUT_GPIO_DECODER)	+= gpio_decoder.o
obj-$(CONFIG_INPUT_HISI_POWERKEY)	+= hisi_powerkey.o
obj-$(CONFIG_HP_SDC_RTC)		+= hp_sdc_rtc.o
obj-$(CONFIG_INPUT_IMS_PCU)		+= ims-pcu.o
obj-$(CONFIG_INPUT_IXP4XX_BEEPER)	+= ixp4xx-beeper.o
obj-$(CONFIG_INPUT_KEYSPAN_REMOTE)	+= keyspan_remote.o
obj-$(CONFIG_INPUT_KXTJ9)		+= kxtj9.o
obj-$(CONFIG_INPUT_M68K_BEEP)		+= m68kspkr.o
obj-$(CONFIG_INPUT_MAX77693_HAPTIC)	+= max77693-haptic.o
obj-$(CONFIG_INPUT_MAX8925_ONKEY)	+= max8925_onkey.o
obj-$(CONFIG_INPUT_MAX8997_HAPTIC)	+= max8997_haptic.o
obj-$(CONFIG_INPUT_MC13783_PWRBUTTON)	+= mc13783-pwrbutton.o
obj-$(CONFIG_INPUT_MMA8450)		+= mma8450.o
obj-$(CONFIG_INPUT_MSM_VIBRATOR)	+= msm-vibrator.o
obj-$(CONFIG_INPUT_PALMAS_PWRBUTTON)	+= palmas-pwrbutton.o
obj-$(CONFIG_INPUT_PCAP)		+= pcap_keys.o
obj-$(CONFIG_INPUT_PCF50633_PMU)	+= pcf50633-input.o
obj-$(CONFIG_INPUT_PCF8574)		+= pcf8574_keypad.o
obj-$(CONFIG_INPUT_PCSPKR)		+= pcspkr.o
obj-$(CONFIG_INPUT_PM8941_PWRKEY)	+= pm8941-pwrkey.o
obj-$(CONFIG_INPUT_PM8XXX_VIBRATOR)	+= pm8xxx-vibrator.o
obj-$(CONFIG_INPUT_PMIC8XXX_PWRKEY)	+= pmic8xxx-pwrkey.o
obj-$(CONFIG_INPUT_POWERMATE)		+= powermate.o
obj-$(CONFIG_INPUT_PWM_BEEPER)		+= pwm-beeper.o
obj-$(CONFIG_INPUT_PWM_VIBRA)		+= pwm-vibra.o
obj-$(CONFIG_INPUT_RAVE_SP_PWRBUTTON)	+= rave-sp-pwrbutton.o
obj-$(CONFIG_INPUT_RB532_BUTTON)	+= rb532_button.o
obj-$(CONFIG_INPUT_REGULATOR_HAPTIC)	+= regulator-haptic.o
obj-$(CONFIG_INPUT_RETU_PWRBUTTON)	+= retu-pwrbutton.o
obj-$(CONFIG_INPUT_AXP20X_PEK)		+= axp20x-pek.o
obj-$(CONFIG_INPUT_GPIO_ROTARY_ENCODER)	+= rotary_encoder.o
obj-$(CONFIG_INPUT_RK805_PWRKEY)	+= rk805-pwrkey.o
obj-$(CONFIG_INPUT_SC27XX_VIBRA)	+= sc27xx-vibra.o
obj-$(CONFIG_INPUT_SGI_BTNS)		+= sgi_btns.o
obj-$(CONFIG_INPUT_SIRFSOC_ONKEY)	+= sirfsoc-onkey.o
obj-$(CONFIG_INPUT_SOC_BUTTON_ARRAY)	+= soc_button_array.o
obj-$(CONFIG_INPUT_SPARCSPKR)		+= sparcspkr.o
obj-$(CONFIG_INPUT_STPMIC1_ONKEY)  	+= stpmic1_onkey.o
obj-$(CONFIG_INPUT_TPS65218_PWRBUTTON)	+= tps65218-pwrbutton.o
obj-$(CONFIG_INPUT_TWL4030_PWRBUTTON)	+= twl4030-pwrbutton.o
obj-$(CONFIG_INPUT_TWL4030_VIBRA)	+= twl4030-vibra.o
obj-$(CONFIG_INPUT_TWL6040_VIBRA)	+= twl6040-vibra.o
obj-$(CONFIG_INPUT_UINPUT)		+= uinput.o
obj-$(CONFIG_INPUT_WISTRON_BTNS)	+= wistron_btns.o
obj-$(CONFIG_INPUT_WM831X_ON)		+= wm831x-on.o
obj-$(CONFIG_INPUT_XEN_KBDDEV_FRONTEND)	+= xen-kbdfront.o
obj-$(CONFIG_INPUT_YEALINK)		+= yealink.o
obj-$(CONFIG_INPUT_IDEAPAD_SLIDEBAR)	+= ideapad_slidebar.o

