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

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

