HID: Kconfig: split HID support and hid-core compilation
authorBenjamin Tissoires <benjamin.tissoires@redhat.com>
Thu, 3 Nov 2022 15:57:43 +0000 (16:57 +0100)
committerJiri Kosina <jkosina@suse.cz>
Tue, 15 Nov 2022 15:28:28 +0000 (16:28 +0100)
Currently, we step into drivers/hid/ based on the value of
CONFIG_HID.

However, that value is a tristate, meaning that it can be a module.

As per the documentation, if we jump into the subdirectory by
following an obj-m, we can not compile anything inside that
subdirectory in vmlinux. It is considered as a bug.

To make things more friendly to HID-BPF, split HID (the HID core
parameter) from HID_SUPPORT (do we want any kind of HID support in the
system?), and make this new config a boolean.

Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/Makefile
drivers/hid/Kconfig
drivers/hid/amd-sfh-hid/Kconfig

index bdf1c66..cf5d8b8 100644 (file)
@@ -137,7 +137,7 @@ obj-$(CONFIG_CRYPTO)                += crypto/
 obj-$(CONFIG_SUPERH)           += sh/
 obj-y                          += clocksource/
 obj-$(CONFIG_DCA)              += dca/
-obj-$(CONFIG_HID)              += hid/
+obj-$(CONFIG_HID_SUPPORT)      += hid/
 obj-$(CONFIG_PPC_PS3)          += ps3/
 obj-$(CONFIG_OF)               += of/
 obj-$(CONFIG_SSB)              += ssb/
index 185a077..72bbf98 100644 (file)
@@ -2,12 +2,18 @@
 #
 # HID driver configuration
 #
-menu "HID support"
-     depends on INPUT
+menuconfig HID_SUPPORT
+       bool "HID bus support"
+       default y
+       depends on INPUT
+       help
+         This option adds core support for human interface device (HID).
+         You will also need drivers from the following menu to make use of it.
+
+if HID_SUPPORT
 
 config HID
-       tristate "HID bus support"
-       depends on INPUT
+       tristate "HID bus core support"
        default y
        help
          A human interface device (HID) is a type of computer device that
@@ -1290,4 +1296,4 @@ source "drivers/hid/amd-sfh-hid/Kconfig"
 
 source "drivers/hid/surface-hid/Kconfig"
 
-endmenu
+endif # HID_SUPPORT
index db069a8..56e473f 100644 (file)
@@ -2,10 +2,10 @@
 menu "AMD SFH HID Support"
        depends on X86_64 || COMPILE_TEST
        depends on PCI
-       depends on HID
 
 config AMD_SFH_HID
        tristate "AMD Sensor Fusion Hub"
+       select HID
        help
          If you say yes to this option, support will be included for the
          AMD Sensor Fusion Hub.