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

# Each configuration option enables a list of files.

obj-$(CONFIG_SERIO)		+= serio.o
obj-$(CONFIG_SERIO_I8042)	+= i8042.o
obj-$(CONFIG_SERIO_PARKBD)	+= parkbd.o
obj-$(CONFIG_SERIO_SERPORT)	+= serport.o
obj-$(CONFIG_SERIO_RPCKBD)	+= rpckbd.o
obj-$(CONFIG_SERIO_SA1111)	+= sa1111ps2.o
obj-$(CONFIG_SERIO_AMBAKMI)	+= ambakmi.o
obj-$(CONFIG_SERIO_Q40KBD)	+= q40kbd.o
obj-$(CONFIG_SERIO_GSCPS2)	+= gscps2.o
obj-$(CONFIG_HP_SDC)		+= hp_sdc.o
obj-$(CONFIG_HIL_MLC)		+= hp_sdc_mlc.o hil_mlc.o
obj-$(CONFIG_SERIO_PCIPS2)	+= pcips2.o
obj-$(CONFIG_SERIO_PS2MULT)	+= ps2mult.o
obj-$(CONFIG_SERIO_MACEPS2)	+= maceps2.o
obj-$(CONFIG_SERIO_SGI_IOC3)	+= ioc3kbd.o
obj-$(CONFIG_SERIO_LIBPS2)	+= libps2.o
obj-$(CONFIG_SERIO_RAW)		+= serio_raw.o
obj-$(CONFIG_SERIO_AMS_DELTA)	+= ams_delta_serio.o
obj-$(CONFIG_SERIO_XILINX_XPS_PS2)	+= xilinx_ps2.o
obj-$(CONFIG_SERIO_ALTERA_PS2)	+= altera_ps2.o
obj-$(CONFIG_SERIO_ARC_PS2)	+= arc_ps2.o
obj-$(CONFIG_SERIO_APBPS2)	+= apbps2.o
obj-$(CONFIG_SERIO_OLPC_APSP)	+= olpc_apsp.o
obj-$(CONFIG_HYPERV_KEYBOARD)	+= hyperv-keyboard.o
obj-$(CONFIG_SERIO_SUN4I_PS2)	+= sun4i-ps2.o
obj-$(CONFIG_SERIO_GPIO_PS2)	+= ps2-gpio.o
obj-$(CONFIG_USERIO)		+= userio.o
