#
# Makefile for the input core drivers.
#

# Each configuration option enables a list of files.

obj-$(CONFIG_KEYBOARD_ABOV_TOUCH_FT1804)	+= abov_touchkey_ft1804.o
obj-$(CONFIG_KEYBOARD_ABOV_TOUCH_T316)	+= abov_touchkey_ft1804.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_ATARI)		+= atakbd.o
obj-$(CONFIG_KEYBOARD_ATKBD)		+= atkbd.o
obj-$(CONFIG_KEYBOARD_BCM)		+= bcm-keypad.o
obj-$(CONFIG_KEYBOARD_BFIN)		+= bf54x-keys.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_DAVINCI)		+= davinci_keyscan.o
obj-$(CONFIG_KEYBOARD_EP93XX)		+= ep93xx_keypad.o
obj-$(CONFIG_KEYBOARD_GOLDFISH_EVENTS)	+= goldfish_events.o
obj-$(CONFIG_KEYBOARD_GOLDFISH_ROTARY)	+= goldfish_rotary.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_IMX)		+= imx_keypad.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_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_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_TWL4030)		+= twl4030_keypad.o
obj-$(CONFIG_KEYBOARD_XTKBD)		+= xtkbd.o
obj-$(CONFIG_KEYBOARD_W90P910)		+= w90p910_keypad.o
obj-$(CONFIG_KEYBOARD_ABOV_TOUCH_3X6)	+= abov_touchkey_3x6.o
obj-$(CONFIG_KEYBOARD_TC300K)		+= tc300k.o

