diff mbox series

hid: intel-thc: fix CONFIG_HID dependency

Message ID 20250123134908.805346-1-arnd@kernel.org
State New
Headers show
Series hid: intel-thc: fix CONFIG_HID dependency | expand

Commit Message

Arnd Bergmann Jan. 23, 2025, 1:48 p.m. UTC
From: Arnd Bergmann <arnd@arndb.de>

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: 1b2d05384c29 ("HID: intel-thc-hid: Add basic THC driver skeleton")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/hid/Kconfig               | 10 ++++++----
 drivers/hid/amd-sfh-hid/Kconfig   |  1 -
 drivers/hid/i2c-hid/Kconfig       |  2 +-
 drivers/hid/intel-ish-hid/Kconfig |  1 -
 drivers/hid/intel-thc-hid/Kconfig |  1 -
 drivers/hid/surface-hid/Kconfig   |  2 --
 drivers/hid/usbhid/Kconfig        |  3 +--
 net/bluetooth/hidp/Kconfig        |  3 +--
 8 files changed, 9 insertions(+), 14 deletions(-)

Comments

Ilpo Järvinen Jan. 24, 2025, 12:20 p.m. UTC | #1
On Thu, 23 Jan 2025, Arnd Bergmann wrote:

> From: Arnd Bergmann <arnd@arndb.de>
> 
> 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: 1b2d05384c29 ("HID: intel-thc-hid: Add basic THC driver skeleton")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>  drivers/hid/Kconfig               | 10 ++++++----
>  drivers/hid/amd-sfh-hid/Kconfig   |  1 -
>  drivers/hid/i2c-hid/Kconfig       |  2 +-
>  drivers/hid/intel-ish-hid/Kconfig |  1 -
>  drivers/hid/intel-thc-hid/Kconfig |  1 -
>  drivers/hid/surface-hid/Kconfig   |  2 --
>  drivers/hid/usbhid/Kconfig        |  3 +--
>  net/bluetooth/hidp/Kconfig        |  3 +--
>  8 files changed, 9 insertions(+), 14 deletions(-)
> 
> diff --git a/drivers/hid/Kconfig b/drivers/hid/Kconfig
> index 8adb745c5b28..ed657ef7281c 100644
> --- a/drivers/hid/Kconfig
> +++ b/drivers/hid/Kconfig
> @@ -1376,10 +1376,6 @@ endmenu
>  
>  source "drivers/hid/bpf/Kconfig"
>  
> -endif # HID
> -
> -source "drivers/hid/usbhid/Kconfig"
> -
>  source "drivers/hid/i2c-hid/Kconfig"
>  
>  source "drivers/hid/intel-ish-hid/Kconfig"
> @@ -1390,4 +1386,10 @@ source "drivers/hid/surface-hid/Kconfig"
>  
>  source "drivers/hid/intel-thc-hid/Kconfig"
>  
> +endif # HID
> +
> +# USB support may be used with HID disabled
> +
> +source "drivers/hid/usbhid/Kconfig"
> +
>  endif # HID_SUPPORT
> diff --git a/drivers/hid/amd-sfh-hid/Kconfig b/drivers/hid/amd-sfh-hid/Kconfig
> index 329de5e12c1a..3291786a5ee6 100644
> --- a/drivers/hid/amd-sfh-hid/Kconfig
> +++ b/drivers/hid/amd-sfh-hid/Kconfig
> @@ -5,7 +5,6 @@ menu "AMD SFH HID Support"
>  
>  config AMD_SFH_HID
>  	tristate "AMD Sensor Fusion Hub"
> -	depends on HID
>  	depends on X86
>  	help
>  	  If you say yes to this option, support will be included for the
> diff --git a/drivers/hid/i2c-hid/Kconfig b/drivers/hid/i2c-hid/Kconfig
> index ef7c595c9403..e8d51f410cc1 100644
> --- a/drivers/hid/i2c-hid/Kconfig
> +++ b/drivers/hid/i2c-hid/Kconfig
> @@ -2,7 +2,7 @@
>  menuconfig I2C_HID
>  	tristate "I2C HID support"
>  	default y
> -	depends on I2C && INPUT && HID
> +	depends on I2C
>  
>  if I2C_HID
>  
> diff --git a/drivers/hid/intel-ish-hid/Kconfig b/drivers/hid/intel-ish-hid/Kconfig
> index 253dc10d35ef..568c8688784e 100644
> --- a/drivers/hid/intel-ish-hid/Kconfig
> +++ b/drivers/hid/intel-ish-hid/Kconfig
> @@ -6,7 +6,6 @@ config INTEL_ISH_HID
>  	tristate "Intel Integrated Sensor Hub"
>  	default n
>  	depends on X86
> -	depends on HID
>  	help
>  	  The Integrated Sensor Hub (ISH) enables the ability to offload
>  	  sensor polling and algorithm processing to a dedicated low power
> diff --git a/drivers/hid/intel-thc-hid/Kconfig b/drivers/hid/intel-thc-hid/Kconfig
> index 91ec84902db8..0351d1137607 100644
> --- a/drivers/hid/intel-thc-hid/Kconfig
> +++ b/drivers/hid/intel-thc-hid/Kconfig
> @@ -7,7 +7,6 @@ menu "Intel THC HID Support"
>  config INTEL_THC_HID
>  	tristate "Intel Touch Host Controller"
>  	depends on ACPI
> -	select HID
>  	help
>  	  THC (Touch Host Controller) is the name of the IP block in PCH that
>  	  interfaces with Touch Devices (ex: touchscreen, touchpad etc.). It
> diff --git a/drivers/hid/surface-hid/Kconfig b/drivers/hid/surface-hid/Kconfig
> index 7ce9b5d641eb..d0cfd0d29926 100644
> --- a/drivers/hid/surface-hid/Kconfig
> +++ b/drivers/hid/surface-hid/Kconfig
> @@ -1,7 +1,6 @@
>  # SPDX-License-Identifier: GPL-2.0+
>  menu "Surface System Aggregator Module HID support"
>  	depends on SURFACE_AGGREGATOR
> -	depends on INPUT
>  
>  config SURFACE_HID
>  	tristate "HID transport driver for Surface System Aggregator Module"
> @@ -39,4 +38,3 @@ endmenu
>  
>  config SURFACE_HID_CORE
>  	tristate
> -	select HID
> diff --git a/drivers/hid/usbhid/Kconfig b/drivers/hid/usbhid/Kconfig
> index 7c2032f7f44d..f3194767a45e 100644
> --- a/drivers/hid/usbhid/Kconfig
> +++ b/drivers/hid/usbhid/Kconfig
> @@ -5,8 +5,7 @@ menu "USB HID support"
>  config USB_HID
>  	tristate "USB HID transport layer"
>  	default y
> -	depends on USB && INPUT
> -	select HID
> +	depends on HID

I didn't exactly like the unrelated removal of USB totally without 
a prior warning. I suggest you at minimum mention in the commit message 
that menu covers it.

Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Maximilian Luz Jan. 25, 2025, 4:35 p.m. UTC | #2
On 1/23/25 2:48 PM, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> 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: 1b2d05384c29 ("HID: intel-thc-hid: Add basic THC driver skeleton")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---

For hid/surface-hid:

Reviewed-by: Maximilian Luz <luzmaximilian@gmail.com>
Xu, Even Jan. 26, 2025, 1:10 a.m. UTC | #3
> -----Original Message-----
> From: Arnd Bergmann <arnd@kernel.org>
> Sent: Thursday, January 23, 2025 9:48 PM
> To: Jiri Kosina <jikos@kernel.org>; Benjamin Tissoires <bentiss@kernel.org>;
> Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>; Mark Pearson
> <mpearson-lenovo@squebb.ca>
> Cc: Arnd Bergmann <arnd@arndb.de>; Basavaraj Natikar
> <basavaraj.natikar@amd.com>; Xu, Even <even.xu@intel.com>; Sun, Xinpeng
> <xinpeng.sun@intel.com>; Maximilian Luz <luzmaximilian@gmail.com>; Marcel
> Holtmann <marcel@holtmann.org>; Johan Hedberg
> <johan.hedberg@gmail.com>; Luiz Augusto von Dentz <luiz.dentz@gmail.com>;
> Dmitry Torokhov <dmitry.torokhov@gmail.com>; linux-input@vger.kernel.org;
> linux-kernel@vger.kernel.org; platform-driver-x86@vger.kernel.org; linux-
> usb@vger.kernel.org; linux-bluetooth@vger.kernel.org
> Subject: [PATCH] hid: intel-thc: fix CONFIG_HID dependency
> 
> From: Arnd Bergmann <arnd@arndb.de>
> 
> 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: 1b2d05384c29 ("HID: intel-thc-hid: Add basic THC driver skeleton")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>  drivers/hid/Kconfig               | 10 ++++++----
>  drivers/hid/amd-sfh-hid/Kconfig   |  1 -
>  drivers/hid/i2c-hid/Kconfig       |  2 +-
>  drivers/hid/intel-ish-hid/Kconfig |  1 -  drivers/hid/intel-thc-hid/Kconfig |  1 -
>  drivers/hid/surface-hid/Kconfig   |  2 --
>  drivers/hid/usbhid/Kconfig        |  3 +--
>  net/bluetooth/hidp/Kconfig        |  3 +--
>  8 files changed, 9 insertions(+), 14 deletions(-)
> 
> diff --git a/drivers/hid/Kconfig b/drivers/hid/Kconfig index
> 8adb745c5b28..ed657ef7281c 100644
> --- a/drivers/hid/Kconfig
> +++ b/drivers/hid/Kconfig
> @@ -1376,10 +1376,6 @@ endmenu
> 
>  source "drivers/hid/bpf/Kconfig"
> 
> -endif # HID
> -
> -source "drivers/hid/usbhid/Kconfig"
> -
>  source "drivers/hid/i2c-hid/Kconfig"
> 
>  source "drivers/hid/intel-ish-hid/Kconfig"
> @@ -1390,4 +1386,10 @@ source "drivers/hid/surface-hid/Kconfig"
> 
>  source "drivers/hid/intel-thc-hid/Kconfig"
> 
> +endif # HID
> +
> +# USB support may be used with HID disabled
> +
> +source "drivers/hid/usbhid/Kconfig"
> +
>  endif # HID_SUPPORT
> diff --git a/drivers/hid/amd-sfh-hid/Kconfig b/drivers/hid/amd-sfh-hid/Kconfig
> index 329de5e12c1a..3291786a5ee6 100644
> --- a/drivers/hid/amd-sfh-hid/Kconfig
> +++ b/drivers/hid/amd-sfh-hid/Kconfig
> @@ -5,7 +5,6 @@ menu "AMD SFH HID Support"
> 
>  config AMD_SFH_HID
>  	tristate "AMD Sensor Fusion Hub"
> -	depends on HID
>  	depends on X86
>  	help
>  	  If you say yes to this option, support will be included for the diff --git
> a/drivers/hid/i2c-hid/Kconfig b/drivers/hid/i2c-hid/Kconfig index
> ef7c595c9403..e8d51f410cc1 100644
> --- a/drivers/hid/i2c-hid/Kconfig
> +++ b/drivers/hid/i2c-hid/Kconfig
> @@ -2,7 +2,7 @@
>  menuconfig I2C_HID
>  	tristate "I2C HID support"
>  	default y
> -	depends on I2C && INPUT && HID
> +	depends on I2C
> 
>  if I2C_HID
> 
> diff --git a/drivers/hid/intel-ish-hid/Kconfig b/drivers/hid/intel-ish-hid/Kconfig
> index 253dc10d35ef..568c8688784e 100644
> --- a/drivers/hid/intel-ish-hid/Kconfig
> +++ b/drivers/hid/intel-ish-hid/Kconfig
> @@ -6,7 +6,6 @@ config INTEL_ISH_HID
>  	tristate "Intel Integrated Sensor Hub"
>  	default n
>  	depends on X86
> -	depends on HID
>  	help
>  	  The Integrated Sensor Hub (ISH) enables the ability to offload
>  	  sensor polling and algorithm processing to a dedicated low power diff --
> git a/drivers/hid/intel-thc-hid/Kconfig b/drivers/hid/intel-thc-hid/Kconfig
> index 91ec84902db8..0351d1137607 100644
> --- a/drivers/hid/intel-thc-hid/Kconfig
> +++ b/drivers/hid/intel-thc-hid/Kconfig
> @@ -7,7 +7,6 @@ menu "Intel THC HID Support"
>  config INTEL_THC_HID
>  	tristate "Intel Touch Host Controller"
>  	depends on ACPI
> -	select HID
>  	help
>  	  THC (Touch Host Controller) is the name of the IP block in PCH that
>  	  interfaces with Touch Devices (ex: touchscreen, touchpad etc.). It diff --
> git a/drivers/hid/surface-hid/Kconfig b/drivers/hid/surface-hid/Kconfig index
> 7ce9b5d641eb..d0cfd0d29926 100644
> --- a/drivers/hid/surface-hid/Kconfig
> +++ b/drivers/hid/surface-hid/Kconfig
> @@ -1,7 +1,6 @@
>  # SPDX-License-Identifier: GPL-2.0+
>  menu "Surface System Aggregator Module HID support"
>  	depends on SURFACE_AGGREGATOR
> -	depends on INPUT
> 
>  config SURFACE_HID
>  	tristate "HID transport driver for Surface System Aggregator Module"
> @@ -39,4 +38,3 @@ endmenu
> 
>  config SURFACE_HID_CORE
>  	tristate
> -	select HID
> diff --git a/drivers/hid/usbhid/Kconfig b/drivers/hid/usbhid/Kconfig index
> 7c2032f7f44d..f3194767a45e 100644
> --- a/drivers/hid/usbhid/Kconfig
> +++ b/drivers/hid/usbhid/Kconfig
> @@ -5,8 +5,7 @@ menu "USB HID support"
>  config USB_HID
>  	tristate "USB HID transport layer"
>  	default y
> -	depends on USB && INPUT
> -	select HID
> +	depends on HID
>  	help
>  	  Say Y here if you want to connect USB keyboards,
>  	  mice, joysticks, graphic tablets, or any other HID based devices diff --git
> a/net/bluetooth/hidp/Kconfig b/net/bluetooth/hidp/Kconfig index
> 6746be07e222..e08aae35351a 100644
> --- a/net/bluetooth/hidp/Kconfig
> +++ b/net/bluetooth/hidp/Kconfig
> @@ -1,8 +1,7 @@
>  # SPDX-License-Identifier: GPL-2.0-only  config BT_HIDP
>  	tristate "HIDP protocol support"
> -	depends on BT_BREDR && INPUT && HID_SUPPORT
> -	select HID
> +	depends on BT_BREDR && HID
>  	help
>  	  HIDP (Human Interface Device Protocol) is a transport layer
>  	  for HID reports.  HIDP is required for the Bluetooth Human
> --
> 2.39.5

For hid/intel-thc-hid:

Reviewed-by: Even Xu <even.xu@intel.com>

Best Regards,
Even Xu
Jiri Kosina Feb. 3, 2025, 9:56 a.m. UTC | #4
On Thu, 23 Jan 2025, Arnd Bergmann wrote:

> From: Arnd Bergmann <arnd@arndb.de>
> 
> 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: 1b2d05384c29 ("HID: intel-thc-hid: Add basic THC driver skeleton")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Applied to hid.git#for-6.14/upstream-fixes, thanks!
bluez.test.bot@gmail.com Feb. 13, 2025, 10:27 p.m. UTC | #5
This is automated email and please do not reply to this email!

Dear submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=927825

---Test result---

Test Summary:
CheckPatch                    PENDING   0.38 seconds
GitLint                       PENDING   0.22 seconds
SubjectPrefix                 FAIL      0.36 seconds
BuildKernel                   PASS      23.92 seconds
CheckAllWarning               PASS      26.68 seconds
CheckSparse                   PASS      30.26 seconds
BuildKernel32                 PASS      23.83 seconds
TestRunnerSetup               PASS      428.49 seconds
TestRunner_l2cap-tester       FAIL      0.09 seconds
TestRunner_iso-tester         FAIL      0.09 seconds
TestRunner_bnep-tester        FAIL      0.14 seconds
TestRunner_mgmt-tester        FAIL      0.18 seconds
TestRunner_rfcomm-tester      FAIL      0.16 seconds
TestRunner_sco-tester         FAIL      0.09 seconds
TestRunner_ioctl-tester       FAIL      0.08 seconds
TestRunner_mesh-tester        FAIL      0.09 seconds
TestRunner_smp-tester         FAIL      0.09 seconds
TestRunner_userchan-tester    FAIL      0.08 seconds
IncrementalBuild              PENDING   0.48 seconds

Details
##############################
Test: CheckPatch - PENDING
Desc: Run checkpatch.pl script
Output:

##############################
Test: GitLint - PENDING
Desc: Run gitlint
Output:

##############################
Test: SubjectPrefix - FAIL
Desc: Check subject contains "Bluetooth" prefix
Output:
"Bluetooth: " prefix is not specified in the subject
##############################
Test: TestRunner_l2cap-tester - FAIL
Desc: Run l2cap-tester with test-runner
Output:

Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
qemu-system-x86_64: CPU model 'host' requires KVM
##############################
Test: TestRunner_iso-tester - FAIL
Desc: Run iso-tester with test-runner
Output:

Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
qemu-system-x86_64: CPU model 'host' requires KVM
##############################
Test: TestRunner_bnep-tester - FAIL
Desc: Run bnep-tester with test-runner
Output:

Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
qemu-system-x86_64: CPU model 'host' requires KVM
##############################
Test: TestRunner_mgmt-tester - FAIL
Desc: Run mgmt-tester with test-runner
Output:

Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
qemu-system-x86_64: CPU model 'host' requires KVM
##############################
Test: TestRunner_rfcomm-tester - FAIL
Desc: Run rfcomm-tester with test-runner
Output:

Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
qemu-system-x86_64: CPU model 'host' requires KVM
##############################
Test: TestRunner_sco-tester - FAIL
Desc: Run sco-tester with test-runner
Output:

Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
qemu-system-x86_64: CPU model 'host' requires KVM
##############################
Test: TestRunner_ioctl-tester - FAIL
Desc: Run ioctl-tester with test-runner
Output:

Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
qemu-system-x86_64: CPU model 'host' requires KVM
##############################
Test: TestRunner_mesh-tester - FAIL
Desc: Run mesh-tester with test-runner
Output:

Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
qemu-system-x86_64: CPU model 'host' requires KVM
##############################
Test: TestRunner_smp-tester - FAIL
Desc: Run smp-tester with test-runner
Output:

Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
qemu-system-x86_64: CPU model 'host' requires KVM
##############################
Test: TestRunner_userchan-tester - FAIL
Desc: Run userchan-tester with test-runner
Output:

Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
qemu-system-x86_64: CPU model 'host' requires KVM
##############################
Test: IncrementalBuild - PENDING
Desc: Incremental build with the patches in the series
Output:



---
Regards,
Linux Bluetooth
Luiz Augusto von Dentz Feb. 13, 2025, 10:31 p.m. UTC | #6
Hi Arkadiusz,

On Thu, Feb 13, 2025 at 5:27 PM <bluez.test.bot@gmail.com> wrote:
>
> This is automated email and please do not reply to this email!
>
> Dear submitter,
>
> Thank you for submitting the patches to the linux bluetooth mailing list.
> This is a CI test results with your patch series:
> PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=927825
>
> ---Test result---
>
> Test Summary:
> CheckPatch                    PENDING   0.38 seconds
> GitLint                       PENDING   0.22 seconds
> SubjectPrefix                 FAIL      0.36 seconds
> BuildKernel                   PASS      23.92 seconds
> CheckAllWarning               PASS      26.68 seconds
> CheckSparse                   PASS      30.26 seconds
> BuildKernel32                 PASS      23.83 seconds
> TestRunnerSetup               PASS      428.49 seconds
> TestRunner_l2cap-tester       FAIL      0.09 seconds
> TestRunner_iso-tester         FAIL      0.09 seconds
> TestRunner_bnep-tester        FAIL      0.14 seconds
> TestRunner_mgmt-tester        FAIL      0.18 seconds
> TestRunner_rfcomm-tester      FAIL      0.16 seconds
> TestRunner_sco-tester         FAIL      0.09 seconds
> TestRunner_ioctl-tester       FAIL      0.08 seconds
> TestRunner_mesh-tester        FAIL      0.09 seconds
> TestRunner_smp-tester         FAIL      0.09 seconds
> TestRunner_userchan-tester    FAIL      0.08 seconds
> IncrementalBuild              PENDING   0.48 seconds
>
> Details
> ##############################
> Test: CheckPatch - PENDING
> Desc: Run checkpatch.pl script
> Output:
>
> ##############################
> Test: GitLint - PENDING
> Desc: Run gitlint
> Output:
>
> ##############################
> Test: SubjectPrefix - FAIL
> Desc: Check subject contains "Bluetooth" prefix
> Output:
> "Bluetooth: " prefix is not specified in the subject
> ##############################
> Test: TestRunner_l2cap-tester - FAIL
> Desc: Run l2cap-tester with test-runner
> Output:
>
> Could not access KVM kernel module: No such file or directory
> qemu-system-x86_64: failed to initialize KVM: No such file or directory
> qemu-system-x86_64: Back to tcg accelerator
> qemu-system-x86_64: CPU model 'host' requires KVM
> ##############################
> Test: TestRunner_iso-tester - FAIL
> Desc: Run iso-tester with test-runner
> Output:
>
> Could not access KVM kernel module: No such file or directory
> qemu-system-x86_64: failed to initialize KVM: No such file or directory
> qemu-system-x86_64: Back to tcg accelerator
> qemu-system-x86_64: CPU model 'host' requires KVM
> ##############################
> Test: TestRunner_bnep-tester - FAIL
> Desc: Run bnep-tester with test-runner
> Output:
>
> Could not access KVM kernel module: No such file or directory
> qemu-system-x86_64: failed to initialize KVM: No such file or directory
> qemu-system-x86_64: Back to tcg accelerator
> qemu-system-x86_64: CPU model 'host' requires KVM
> ##############################
> Test: TestRunner_mgmt-tester - FAIL
> Desc: Run mgmt-tester with test-runner
> Output:
>
> Could not access KVM kernel module: No such file or directory
> qemu-system-x86_64: failed to initialize KVM: No such file or directory
> qemu-system-x86_64: Back to tcg accelerator
> qemu-system-x86_64: CPU model 'host' requires KVM
> ##############################
> Test: TestRunner_rfcomm-tester - FAIL
> Desc: Run rfcomm-tester with test-runner
> Output:
>
> Could not access KVM kernel module: No such file or directory
> qemu-system-x86_64: failed to initialize KVM: No such file or directory
> qemu-system-x86_64: Back to tcg accelerator
> qemu-system-x86_64: CPU model 'host' requires KVM
> ##############################
> Test: TestRunner_sco-tester - FAIL
> Desc: Run sco-tester with test-runner
> Output:
>
> Could not access KVM kernel module: No such file or directory
> qemu-system-x86_64: failed to initialize KVM: No such file or directory
> qemu-system-x86_64: Back to tcg accelerator
> qemu-system-x86_64: CPU model 'host' requires KVM
> ##############################
> Test: TestRunner_ioctl-tester - FAIL
> Desc: Run ioctl-tester with test-runner
> Output:
>
> Could not access KVM kernel module: No such file or directory
> qemu-system-x86_64: failed to initialize KVM: No such file or directory
> qemu-system-x86_64: Back to tcg accelerator
> qemu-system-x86_64: CPU model 'host' requires KVM
> ##############################
> Test: TestRunner_mesh-tester - FAIL
> Desc: Run mesh-tester with test-runner
> Output:
>
> Could not access KVM kernel module: No such file or directory
> qemu-system-x86_64: failed to initialize KVM: No such file or directory
> qemu-system-x86_64: Back to tcg accelerator
> qemu-system-x86_64: CPU model 'host' requires KVM
> ##############################
> Test: TestRunner_smp-tester - FAIL
> Desc: Run smp-tester with test-runner
> Output:
>
> Could not access KVM kernel module: No such file or directory
> qemu-system-x86_64: failed to initialize KVM: No such file or directory
> qemu-system-x86_64: Back to tcg accelerator
> qemu-system-x86_64: CPU model 'host' requires KVM
> ##############################
> Test: TestRunner_userchan-tester - FAIL
> Desc: Run userchan-tester with test-runner
> Output:
>
> Could not access KVM kernel module: No such file or directory
> qemu-system-x86_64: failed to initialize KVM: No such file or directory
> qemu-system-x86_64: Back to tcg accelerator
> qemu-system-x86_64: CPU model 'host' requires KVM

I guess these errors are related to the last change aren't they? Most
likely github hosts don't have KVM enabled or something like that.

> ##############################
> Test: IncrementalBuild - PENDING
> Desc: Incremental build with the patches in the series
> Output:
>
>
>
> ---
> Regards,
> Linux Bluetooth
>
Arkadiusz Bokowy Feb. 14, 2025, 5:31 a.m. UTC | #7
> I guess these errors are related to the last change aren't they? Most
> likely github hosts don't have KVM enabled or something like that.

Yes... It's because of "-cpu host". So, this change must be reverted
if CI does not have KVM support. I was not aware of that, sorry.

Regards,
Arek
Arkadiusz Bokowy Feb. 14, 2025, 5:37 a.m. UTC | #8
Another idea is to add an option to the tools/test-runner which will
allow to enable "-cpu host" on demand, so for cases like mine (where
binaries built on host are not compatible with QEMU setup) it will be
an easy workaround. Unfortunately, I won't be able to submit such a
patch until Monday.

Regards,
Arek
Arkadiusz Bokowy Feb. 14, 2025, 6:54 a.m. UTC | #9
I've just submitted a "test-runner: Allow to use host CPU on demand"
patch which should fix that. Unfortunately, I'm not able to test it
right now, but I think that it will work.

I've tested it like that (on my RPi) and it seems to be OK:

$ tools/test-runner -k bzImage -H -q /usr/bin/echo -a
Using QEMU binary /usr/bin/echo
Using kernel image bzImage
-nodefaults -no-user-config -monitor none -display none -machine
type=q35,accel=kvm:tcg -m 256M -net none -no-reboot -fsdev
local,id=fsdev-root,path=/,readonly=on,security_model=none,multidevs=remap
-device virtio-9p-pci,fsdev=fsdev-root,mount_tag=/dev/root -chardev
stdio,id=con,mux=on -serial chardev:con -cpu host -kernel bzImage
-append console=ttyS0,115200n8 earlyprintk=serial no_hash_pointers=1
rootfstype=9p rootflags=trans=virtio,version=9p2000.u acpi=off
pci=noacpi noapic quiet ro
init=/home/pi/bluez/build/./tools/test-runner
TESTHOME=/home/pi/bluez/build TESTDBUS=0 TESTDAEMON=0
TESTDBUSSESSION=0 XDG_RUNTIME_DIR=/run/user/0 TESTMONITOR=0
TESTEMULATOR=0 TESTDEVS=0 TESTAUTO=1 TESTAUDIO='' TESTARGS='(null)'

I've just noticed a "TESTARGS='(null)'"... However, maybe that's
intended. Anyway passing NULL to snprintf is a risky business.

Regards,
Arek
patchwork-bot+bluetooth@kernel.org Feb. 20, 2025, 6:31 p.m. UTC | #10
Hello:

This patch was applied to bluetooth/bluetooth-next.git (master)
by Jiri Kosina <jkosina@suse.com>:

On Thu, 23 Jan 2025 14:48:12 +0100 you wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> 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:
> 
> [...]

Here is the summary with links:
  - hid: intel-thc: fix CONFIG_HID dependency
    https://git.kernel.org/bluetooth/bluetooth-next/c/a5a056c8d2ba

You are awesome, thank you!
diff mbox series

Patch

diff --git a/drivers/hid/Kconfig b/drivers/hid/Kconfig
index 8adb745c5b28..ed657ef7281c 100644
--- a/drivers/hid/Kconfig
+++ b/drivers/hid/Kconfig
@@ -1376,10 +1376,6 @@  endmenu
 
 source "drivers/hid/bpf/Kconfig"
 
-endif # HID
-
-source "drivers/hid/usbhid/Kconfig"
-
 source "drivers/hid/i2c-hid/Kconfig"
 
 source "drivers/hid/intel-ish-hid/Kconfig"
@@ -1390,4 +1386,10 @@  source "drivers/hid/surface-hid/Kconfig"
 
 source "drivers/hid/intel-thc-hid/Kconfig"
 
+endif # HID
+
+# USB support may be used with HID disabled
+
+source "drivers/hid/usbhid/Kconfig"
+
 endif # HID_SUPPORT
diff --git a/drivers/hid/amd-sfh-hid/Kconfig b/drivers/hid/amd-sfh-hid/Kconfig
index 329de5e12c1a..3291786a5ee6 100644
--- a/drivers/hid/amd-sfh-hid/Kconfig
+++ b/drivers/hid/amd-sfh-hid/Kconfig
@@ -5,7 +5,6 @@  menu "AMD SFH HID Support"
 
 config AMD_SFH_HID
 	tristate "AMD Sensor Fusion Hub"
-	depends on HID
 	depends on X86
 	help
 	  If you say yes to this option, support will be included for the
diff --git a/drivers/hid/i2c-hid/Kconfig b/drivers/hid/i2c-hid/Kconfig
index ef7c595c9403..e8d51f410cc1 100644
--- a/drivers/hid/i2c-hid/Kconfig
+++ b/drivers/hid/i2c-hid/Kconfig
@@ -2,7 +2,7 @@ 
 menuconfig I2C_HID
 	tristate "I2C HID support"
 	default y
-	depends on I2C && INPUT && HID
+	depends on I2C
 
 if I2C_HID
 
diff --git a/drivers/hid/intel-ish-hid/Kconfig b/drivers/hid/intel-ish-hid/Kconfig
index 253dc10d35ef..568c8688784e 100644
--- a/drivers/hid/intel-ish-hid/Kconfig
+++ b/drivers/hid/intel-ish-hid/Kconfig
@@ -6,7 +6,6 @@  config INTEL_ISH_HID
 	tristate "Intel Integrated Sensor Hub"
 	default n
 	depends on X86
-	depends on HID
 	help
 	  The Integrated Sensor Hub (ISH) enables the ability to offload
 	  sensor polling and algorithm processing to a dedicated low power
diff --git a/drivers/hid/intel-thc-hid/Kconfig b/drivers/hid/intel-thc-hid/Kconfig
index 91ec84902db8..0351d1137607 100644
--- a/drivers/hid/intel-thc-hid/Kconfig
+++ b/drivers/hid/intel-thc-hid/Kconfig
@@ -7,7 +7,6 @@  menu "Intel THC HID Support"
 config INTEL_THC_HID
 	tristate "Intel Touch Host Controller"
 	depends on ACPI
-	select HID
 	help
 	  THC (Touch Host Controller) is the name of the IP block in PCH that
 	  interfaces with Touch Devices (ex: touchscreen, touchpad etc.). It
diff --git a/drivers/hid/surface-hid/Kconfig b/drivers/hid/surface-hid/Kconfig
index 7ce9b5d641eb..d0cfd0d29926 100644
--- a/drivers/hid/surface-hid/Kconfig
+++ b/drivers/hid/surface-hid/Kconfig
@@ -1,7 +1,6 @@ 
 # SPDX-License-Identifier: GPL-2.0+
 menu "Surface System Aggregator Module HID support"
 	depends on SURFACE_AGGREGATOR
-	depends on INPUT
 
 config SURFACE_HID
 	tristate "HID transport driver for Surface System Aggregator Module"
@@ -39,4 +38,3 @@  endmenu
 
 config SURFACE_HID_CORE
 	tristate
-	select HID
diff --git a/drivers/hid/usbhid/Kconfig b/drivers/hid/usbhid/Kconfig
index 7c2032f7f44d..f3194767a45e 100644
--- a/drivers/hid/usbhid/Kconfig
+++ b/drivers/hid/usbhid/Kconfig
@@ -5,8 +5,7 @@  menu "USB HID support"
 config USB_HID
 	tristate "USB HID transport layer"
 	default y
-	depends on USB && INPUT
-	select HID
+	depends on HID
 	help
 	  Say Y here if you want to connect USB keyboards,
 	  mice, joysticks, graphic tablets, or any other HID based devices
diff --git a/net/bluetooth/hidp/Kconfig b/net/bluetooth/hidp/Kconfig
index 6746be07e222..e08aae35351a 100644
--- a/net/bluetooth/hidp/Kconfig
+++ b/net/bluetooth/hidp/Kconfig
@@ -1,8 +1,7 @@ 
 # SPDX-License-Identifier: GPL-2.0-only
 config BT_HIDP
 	tristate "HIDP protocol support"
-	depends on BT_BREDR && INPUT && HID_SUPPORT
-	select HID
+	depends on BT_BREDR && HID
 	help
 	  HIDP (Human Interface Device Protocol) is a transport layer
 	  for HID reports.  HIDP is required for the Bluetooth Human