# 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_ADP5588)		+= adp5588-keys.o
obj-$(CONFIG_KEYBOARD_ADP5589)		+= adp5589-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_CLPS711X)		+= clps711x-keypad.o
obj-$(CONFIG_KEYBOARD_CROS_EC)		+= cros_ec_keyb.o
obj-$(CONFIG_KEYBOARD_CYPRESS_SF)	+= cypress-sf.o
obj-$(CONFIG_KEYBOARD_DAVINCI)		+= davinci_keyscan.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_TCA6416)		+= tca6416-keypad.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_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_MCS)		+= mcs_touchkey.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_NOMADIK)		+= nomadik-ske-keypad.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_PMIC8XXX)		+= pmic8xxx-keypad.o
obj-$(CONFIG_KEYBOARD_PXA27x)		+= pxa27x_keypad.o
obj-$(CONFIG_KEYBOARD_PXA930_ROTARY)	+= pxa930_rotary.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
