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

# Each configuration option enables a list of files.

obj-$(CONFIG_KEYBOARD_ADC)		+= adc-keys.o
obj-$(CONFIG_KEYBOARD_ADP5520)		+= adp5520-keys.o
obj-$(CONFIG_KEYBOARD_ADP5585)		+= adp5585-keys.o
obj-$(CONFIG_KEYBOARD_ADP5588)		+= adp5588-keys.o
obj-$(CONFIG_KEYBOARD_AMIGA)		+= amikbd.o
obj-$(CONFIG_KEYBOARD_APPLESPI)		+= applespi.o
obj-$(CONFIG_KEYBOARD_ATARI)		+= atakbd.o
obj-$(CONFIG_KEYBOARD_ATKBD)		+= atkbd.o
obj-$(CONFIG_KEYBOARD_BCM)		+= bcm-keypad.o
obj-$(CONFIG_KEYBOARD_CAP11XX)		+= cap11xx.o
obj-$(CONFIG_KEYBOARD_CHARLIEPLEX)	+= charlieplex_keypad.o
obj-$(CONFIG_KEYBOARD_CLPS711X)		+= clps711x-keypad.o
obj-$(CONFIG_KEYBOARD_CROS_EC)		+= cros_ec_keyb.o
obj-$(CONFIG_KEYBOARD_CYPRESS_SF)	+= cypress-sf.o
obj-$(CONFIG_KEYBOARD_DLINK_DIR685)	+= dlink-dir685-touchkeys.o
obj-$(CONFIG_KEYBOARD_EP93XX)		+= ep93xx_keypad.o
obj-$(CONFIG_KEYBOARD_GOLDFISH_EVENTS)	+= goldfish_events.o
obj-$(CONFIG_KEYBOARD_GPIO)		+= gpio_keys.o
obj-$(CONFIG_KEYBOARD_GPIO_POLLED)	+= gpio_keys_polled.o
obj-$(CONFIG_KEYBOARD_TCA8418)		+= tca8418_keypad.o
obj-$(CONFIG_KEYBOARD_HIL)		+= hil_kbd.o
obj-$(CONFIG_KEYBOARD_HIL_OLD)		+= hilkbd.o
obj-$(CONFIG_KEYBOARD_IPAQ_MICRO)	+= ipaq-micro-keys.o
obj-$(CONFIG_KEYBOARD_IQS62X)		+= iqs62x-keys.o
obj-$(CONFIG_KEYBOARD_IMX)		+= imx_keypad.o
obj-$(CONFIG_KEYBOARD_IMX_SC_KEY)	+= imx_sc_key.o
obj-$(CONFIG_KEYBOARD_IMX_BBM_SCMI)	+= imx-sm-bbm-key.o
obj-$(CONFIG_KEYBOARD_HP6XX)		+= jornada680_kbd.o
obj-$(CONFIG_KEYBOARD_HP7XX)		+= jornada720_kbd.o
obj-$(CONFIG_KEYBOARD_LKKBD)		+= lkkbd.o
obj-$(CONFIG_KEYBOARD_LM8323)		+= lm8323.o
obj-$(CONFIG_KEYBOARD_LM8333)		+= lm8333.o
obj-$(CONFIG_KEYBOARD_LOCOMO)		+= locomokbd.o
obj-$(CONFIG_KEYBOARD_LPC32XX)		+= lpc32xx-keys.o
obj-$(CONFIG_KEYBOARD_MAPLE)		+= maple_keyb.o
obj-$(CONFIG_KEYBOARD_MATRIX)		+= matrix_keypad.o
obj-$(CONFIG_KEYBOARD_MAX7359)		+= max7359_keypad.o
obj-$(CONFIG_KEYBOARD_MAX7360)		+= max7360-keypad.o
obj-$(CONFIG_KEYBOARD_MPR121)		+= mpr121_touchkey.o
obj-$(CONFIG_KEYBOARD_MT6779)		+= mt6779-keypad.o
obj-$(CONFIG_KEYBOARD_MTK_PMIC) 	+= mtk-pmic-keys.o
obj-$(CONFIG_KEYBOARD_NEWTON)		+= newtonkbd.o
obj-$(CONFIG_KEYBOARD_NSPIRE)		+= nspire-keypad.o
obj-$(CONFIG_KEYBOARD_OMAP)		+= omap-keypad.o
obj-$(CONFIG_KEYBOARD_OMAP4)		+= omap4-keypad.o
obj-$(CONFIG_KEYBOARD_OPENCORES)	+= opencores-kbd.o
obj-$(CONFIG_KEYBOARD_PINEPHONE)	+= pinephone-keyboard.o
obj-$(CONFIG_KEYBOARD_PMIC8XXX)		+= pmic8xxx-keypad.o
obj-$(CONFIG_KEYBOARD_PXA27x)		+= pxa27x_keypad.o
obj-$(CONFIG_KEYBOARD_QT1050)           += qt1050.o
obj-$(CONFIG_KEYBOARD_QT1070)           += qt1070.o
obj-$(CONFIG_KEYBOARD_QT2160)		+= qt2160.o
obj-$(CONFIG_KEYBOARD_SAMSUNG)		+= samsung-keypad.o
obj-$(CONFIG_KEYBOARD_SH_KEYSC)		+= sh_keysc.o
obj-$(CONFIG_KEYBOARD_SNVS_PWRKEY)	+= snvs_pwrkey.o
obj-$(CONFIG_KEYBOARD_SPEAR)		+= spear-keyboard.o
obj-$(CONFIG_KEYBOARD_STMPE)		+= stmpe-keypad.o
obj-$(CONFIG_KEYBOARD_STOWAWAY)		+= stowaway.o
obj-$(CONFIG_KEYBOARD_ST_KEYSCAN)	+= st-keyscan.o
obj-$(CONFIG_KEYBOARD_SUN4I_LRADC)	+= sun4i-lradc-keys.o
obj-$(CONFIG_KEYBOARD_SUNKBD)		+= sunkbd.o
obj-$(CONFIG_KEYBOARD_TC3589X)		+= tc3589x-keypad.o
obj-$(CONFIG_KEYBOARD_TEGRA)		+= tegra-kbc.o
obj-$(CONFIG_KEYBOARD_TM2_TOUCHKEY)	+= tm2-touchkey.o
obj-$(CONFIG_KEYBOARD_TWL4030)		+= twl4030_keypad.o
obj-$(CONFIG_KEYBOARD_XTKBD)		+= xtkbd.o
