# SPDX-License-Identifier: GPL-2.0-only
menuconfig I2C_HID
	tristate "I2C HID support"
	default y
	depends on I2C && INPUT && HID

if I2C_HID

config I2C_HID_ACPI
	tristate "HID over I2C transport layer ACPI driver"
	depends on ACPI
	depends on DRM || !DRM
	select I2C_HID_CORE
	help
	  Say Y here if you use a keyboard, a touchpad, a touchscreen, or any
	  other HID based devices which is connected to your computer via I2C.
	  This driver supports ACPI-based systems.

	  If unsure, say N.

	  This support is also available as a module.  If so, the module
	  will be called i2c-hid-acpi.  It will also build/depend on the
	  module i2c-hid.

config I2C_HID_OF
	tristate "HID over I2C transport layer Open Firmware driver"
	# No "depends on OF" because this can also be used for manually
	# (board-file) instantiated "hid-over-i2c" type i2c-clients.
	depends on DRM || !DRM
	select I2C_HID_CORE
	help
	  Say Y here if you use a keyboard, a touchpad, a touchscreen, or any
	  other HID based devices which is connected to your computer via I2C.
	  This driver supports Open Firmware (Device Tree)-based systems as
	  well as binding to manually (board-file) instantiated i2c-hid-clients.

	  If unsure, say N.

	  This support is also available as a module.  If so, the module
	  will be called i2c-hid-of.  It will also build/depend on the
	  module i2c-hid.

config I2C_HID_OF_ELAN
	tristate "Driver for Elan hid-i2c based devices on OF systems"
	depends on OF
	depends on DRM || !DRM
	select I2C_HID_CORE
	help
	  Say Y here if you want support for Elan i2c devices that use
	  the i2c-hid protocol on Open Firmware (Device Tree)-based
	  systems.

	  If unsure, say N.

	  This support is also available as a module.  If so, the module
	  will be called i2c-hid-of-elan.  It will also build/depend on
	  the module i2c-hid.

config I2C_HID_OF_GOODIX
	tristate "Driver for Goodix hid-i2c based devices on OF systems"
	depends on OF
	depends on DRM || !DRM
	select I2C_HID_CORE
	help
	  Say Y here if you want support for Goodix i2c devices that use
	  the i2c-hid protocol on Open Firmware (Device Tree)-based
	  systems.

	  If unsure, say N.

	  This support is also available as a module.  If so, the module
	  will be called i2c-hid-of-goodix.  It will also build/depend on
	  the module i2c-hid.

config I2C_HID_CORE
	tristate
	# We need to call into panel code so if DRM=m, this can't be 'y'
	depends on DRM || !DRM
endif

