mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-08-27 15:36:48 +00:00

In drivers/hid/, most drivers depend on CONFIG_HID, while a couple of the
drivers in subdirectories instead depend on CONFIG_HID_SUPPORT and use
'select HID'. With the newly added INTEL_THC_HID, this causes a build
warning for a circular dependency:
WARNING: unmet direct dependencies detected for HID
Depends on [m]: HID_SUPPORT [=y] && INPUT [=m]
Selected by [y]:
- INTEL_THC_HID [=y] && HID_SUPPORT [=y] && X86_64 [=y] && PCI [=y] && ACPI [=y]
WARNING: unmet direct dependencies detected for INPUT_FF_MEMLESS
Depends on [m]: INPUT [=m]
Selected by [y]:
- HID_MICROSOFT [=y] && HID_SUPPORT [=y] && HID [=y]
- GREENASIA_FF [=y] && HID_SUPPORT [=y] && HID [=y] && HID_GREENASIA [=y]
- HID_WIIMOTE [=y] && HID_SUPPORT [=y] && HID [=y] && LEDS_CLASS [=y]
- ZEROPLUS_FF [=y] && HID_SUPPORT [=y] && HID [=y] && HID_ZEROPLUS [=y]
Selected by [m]:
- HID_ACRUX_FF [=y] && HID_SUPPORT [=y] && HID [=y] && HID_ACRUX [=m]
- HID_EMS_FF [=m] && HID_SUPPORT [=y] && HID [=y]
- HID_GOOGLE_STADIA_FF [=m] && HID_SUPPORT [=y] && HID [=y]
- PANTHERLORD_FF [=y] && HID_SUPPORT [=y] && HID [=y] && HID_PANTHERLORD [=m]
It's better to be consistent and always use 'depends on HID' for HID
drivers. The notable exception here is USB_KBD/USB_MOUSE, which are
alternative implementations that do not depend on the HID subsystem.
Do this by extending the "if HID" section below, which means that a few
of the duplicate "depends on HID" and "depends on INPUT" statements
can be removed in the process.
Fixes: 1b2d05384c
("HID: intel-thc-hid: Add basic THC driver skeleton")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Reviewed-by: Maximilian Luz <luzmaximilian@gmail.com>
Reviewed-by: Even Xu <even.xu@intel.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
43 lines
1.5 KiB
Plaintext
43 lines
1.5 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0
|
|
# Copyright (c) 2024, Intel Corporation.
|
|
|
|
menu "Intel THC HID Support"
|
|
depends on X86_64 && PCI
|
|
|
|
config INTEL_THC_HID
|
|
tristate "Intel Touch Host Controller"
|
|
depends on ACPI
|
|
help
|
|
THC (Touch Host Controller) is the name of the IP block in PCH that
|
|
interfaces with Touch Devices (ex: touchscreen, touchpad etc.). It
|
|
is comprised of 3 key functional blocks: A natively half-duplex
|
|
Quad I/O capable SPI master; a low latency I2C interface to support
|
|
HIDI2C compliant devices; a hardware sequencer with Read/Write DMA
|
|
capability to system memory.
|
|
|
|
Say Y/M here if you want to support Intel THC. If unsure, say N.
|
|
|
|
config INTEL_QUICKSPI
|
|
tristate "Intel QuickSPI driver based on Intel Touch Host Controller"
|
|
depends on INTEL_THC_HID
|
|
help
|
|
Intel QuickSPI, based on Touch Host Controller (THC), implements
|
|
HIDSPI (HID over SPI) protocol. It configures THC to work at SPI
|
|
mode, and controls THC hardware sequencer to accelerate HIDSPI
|
|
transaction flow.
|
|
|
|
Say Y/M here if you want to support Intel QuickSPI. If unsure, say N.
|
|
|
|
config INTEL_QUICKI2C
|
|
tristate "Intel QuickI2C driver based on Intel Touch Host Controller"
|
|
depends on INTEL_THC_HID
|
|
help
|
|
Intel QuickI2C, uses Touch Host Controller (THC) hardware, implements
|
|
HIDI2C (HID over I2C) protocol. It configures THC to work in I2C
|
|
mode, and controls THC hardware sequencer to accelerate HIDI2C
|
|
transaction flow.
|
|
|
|
Say Y/M here if you want to support Intel QuickI2C. If unsure, say N.
|
|
|
|
endmenu
|