HID: Kconfig: split HID support and hid-core compilation

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>
This commit is contained in:
Benjamin Tissoires 2022-11-03 16:57:43 +01:00 committed by Jiri Kosina
parent 9c730fe104
commit 25621bcc89
3 changed files with 13 additions and 7 deletions

View File

@ -137,7 +137,7 @@ obj-$(CONFIG_CRYPTO) += crypto/
obj-$(CONFIG_SUPERH) += sh/ obj-$(CONFIG_SUPERH) += sh/
obj-y += clocksource/ obj-y += clocksource/
obj-$(CONFIG_DCA) += dca/ obj-$(CONFIG_DCA) += dca/
obj-$(CONFIG_HID) += hid/ obj-$(CONFIG_HID_SUPPORT) += hid/
obj-$(CONFIG_PPC_PS3) += ps3/ obj-$(CONFIG_PPC_PS3) += ps3/
obj-$(CONFIG_OF) += of/ obj-$(CONFIG_OF) += of/
obj-$(CONFIG_SSB) += ssb/ obj-$(CONFIG_SSB) += ssb/

View File

@ -2,12 +2,18 @@
# #
# HID driver configuration # HID driver configuration
# #
menu "HID support" menuconfig HID_SUPPORT
depends on INPUT 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 config HID
tristate "HID bus support" tristate "HID bus core support"
depends on INPUT
default y default y
help help
A human interface device (HID) is a type of computer device that 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" source "drivers/hid/surface-hid/Kconfig"
endmenu endif # HID_SUPPORT

View File

@ -2,10 +2,10 @@
menu "AMD SFH HID Support" menu "AMD SFH HID Support"
depends on X86_64 || COMPILE_TEST depends on X86_64 || COMPILE_TEST
depends on PCI depends on PCI
depends on HID
config AMD_SFH_HID config AMD_SFH_HID
tristate "AMD Sensor Fusion Hub" tristate "AMD Sensor Fusion Hub"
select HID
help help
If you say yes to this option, support will be included for the If you say yes to this option, support will be included for the
AMD Sensor Fusion Hub. AMD Sensor Fusion Hub.