git: 8e908fab6c5b - stable/14 - conf: Add usbhid and hidbus to GENERIC* kernel configs

From: Emmanuel Vadot <manu_at_FreeBSD.org>
Date: Mon, 29 Jul 2024 16:37:37 UTC
The branch stable/14 has been updated by manu:

URL: https://cgit.FreeBSD.org/src/commit/?id=8e908fab6c5ba76bfe9bc26be00051cc733fc82e

commit 8e908fab6c5ba76bfe9bc26be00051cc733fc82e
Author:     Emmanuel Vadot <manu@FreeBSD.org>
AuthorDate: 2024-06-20 07:30:07 +0000
Commit:     Emmanuel Vadot <manu@FreeBSD.org>
CommitDate: 2024-07-29 16:36:42 +0000

    conf: Add usbhid and hidbus to GENERIC* kernel configs
    
    Include the new unified HID stack by default in generic.
    This will allow us to migrate to the multi-stack hkbd and hms instead of
    relying on the older ukbd and ums which only work with USB.
    To test those drivers just add hw.usb.usbhid.enable=1 in loader.conf
    
    Differential Revision:  https://reviews.freebsd.org/D45658
    Reviewed by:    emaste, imp, wulf (all older version)
    Sponsored by:   Beckhoff Automation GmbH & Co. KG
    
    (cherry picked from commit 13d00a43cba4c35fcc9e0ab567baf530126a6348)
    
    conf: hidmap is always needed for hms
    
    So bring it in when hms is in the kernel config
    
    Fixes:  13d00a43cba4 ("conf: Add usbhid and hidbus to GENERIC* kernel configs")
    Sponsored by:   Beckhoff Automation GmbH & Co. KG
    
    (cherry picked from commit 5ed91e788f0b97c9e6c544671ffef71fad7cad27)
    
    conf: powerpc: Add evdev to some kernel configs
    
    Fixes:  13d00a43cba4 ("conf: Add usbhid and hidbus to GENERIC* kernel configs")
    Sponsored by:   Beckhoff Automation GmbH & Co. KG
    
    (cherry picked from commit 43a62df0b464e60895084c7f9d9eddf70906fda3)
---
 sys/amd64/conf/GENERIC       | 5 ++++-
 sys/arm/conf/GENERIC         | 4 ++++
 sys/arm/conf/RPI-B           | 1 +
 sys/arm/conf/TEGRA124        | 4 ++++
 sys/arm64/conf/std.dev       | 5 ++++-
 sys/conf/files               | 2 +-
 sys/i386/conf/GENERIC        | 5 ++++-
 sys/powerpc/conf/GENERIC     | 8 ++++++--
 sys/powerpc/conf/GENERIC64   | 8 ++++++--
 sys/powerpc/conf/GENERIC64LE | 8 ++++++--
 sys/powerpc/conf/MPC85XX     | 9 +++++++++
 sys/powerpc/conf/MPC85XXSPE  | 9 +++++++++
 sys/powerpc/conf/QORIQ64     | 9 +++++++++
 sys/riscv/conf/GENERIC       | 3 +++
 14 files changed, 70 insertions(+), 10 deletions(-)

diff --git a/sys/amd64/conf/GENERIC b/sys/amd64/conf/GENERIC
index ab1c3856051b..8ad3a3ccd425 100644
--- a/sys/amd64/conf/GENERIC
+++ b/sys/amd64/conf/GENERIC
@@ -328,7 +328,9 @@ device		ohci			# OHCI PCI->USB interface
 device		ehci			# EHCI PCI->USB interface (USB 2.0)
 device		xhci			# XHCI PCI->USB interface (USB 3.0)
 device		usb			# USB Bus (required)
-device		ukbd			# Keyboard
+device		usbhid			# USB HID Transport
+device		hkbd			# HID Keyboard
+device		ukbd			# USB Keyboard
 device		umass			# Disks/Mass storage - Requires scbus and da
 
 # Sound support
@@ -379,4 +381,5 @@ device		uinput			# install /dev/uinput cdev
 # HID support
 options 	HID_DEBUG		# enable debug msgs
 device		hid			# Generic HID support
+device		hidbus			# Generic HID Bus
 options 	IICHID_SAMPLING		# Workaround missing GPIO INTR support
diff --git a/sys/arm/conf/GENERIC b/sys/arm/conf/GENERIC
index f8a39cb370d5..05bbf6526b34 100644
--- a/sys/arm/conf/GENERIC
+++ b/sys/arm/conf/GENERIC
@@ -192,7 +192,9 @@ device		musb
 
 device		axe			# USB-Ethernet
 device		umass			# Disks/Mass storage - Requires scbus and da
+device		usbhid			# USB HID Transport
 device		uhid			# "Human Interface Devices"
+device		hkbd			# Allow keyboard like HIDs to control console
 device		ukbd			# Allow keyboard like HIDs to control console
 
 # Device mode support
@@ -226,6 +228,7 @@ device		sound
 # Framebuffer support
 device		vt
 device		kbdmux
+device		hms
 device		ums
 device		videomode
 device		vchiq
@@ -263,6 +266,7 @@ device		aw_thermal	# Allwinner Thermal Sensor Controller
 
 # HID support
 device		hid		# Generic HID support
+device		hidbus		# Generic HID Bus
 
 # Flattened Device Tree
 options 	FDT			# Configure using FDT/DTB data
diff --git a/sys/arm/conf/RPI-B b/sys/arm/conf/RPI-B
index 844b31686d5a..d0a3ee13c367 100644
--- a/sys/arm/conf/RPI-B
+++ b/sys/arm/conf/RPI-B
@@ -57,6 +57,7 @@ device		usb_template    	# Control of the gadget
 # Comment following lines for boot console on serial port
 device		vt
 device		kbdmux
+device		hkbd
 device		ukbd
 
 device		sdhci
diff --git a/sys/arm/conf/TEGRA124 b/sys/arm/conf/TEGRA124
index 9b75bf2e94f8..16cb5f95d26f 100644
--- a/sys/arm/conf/TEGRA124
+++ b/sys/arm/conf/TEGRA124
@@ -85,6 +85,7 @@ device		ehci			# EHCI USB interface
 device		xhci			# XHCI USB interface
 device		tegra124_xusb_fw	# Tegra XUSB firmware
 device		usb			# USB Bus (required)
+device		usbhid			# USB HID Transport
 device		umass			# Disks/Mass storage - Requires scbus and da
 device		uhid			# "Human Interface Devices"
 #device		u3g			# USB modems
@@ -130,6 +131,9 @@ device		drm2
 
 # HID support
 device		hid			# Generic HID support
+device		hidbus			# Generic HID Bus
+device		hkbd			# Allow keyboard like HIDs to control console
+device		hms			# HID mouse
 
 # Flattened Device Tree
 options 	FDT			# Configure using FDT/DTB data
diff --git a/sys/arm64/conf/std.dev b/sys/arm64/conf/std.dev
index 0c0ede38ed2b..d07ab6c22b7b 100644
--- a/sys/arm64/conf/std.dev
+++ b/sys/arm64/conf/std.dev
@@ -98,7 +98,9 @@ device		uhci			# UHCI USB interface
 device		ehci			# EHCI USB interface (USB 2.0)
 device		xhci			# XHCI USB interface (USB 3.0)
 device		usb			# USB Bus (required)
-device		ukbd			# Keyboard
+device		usbhid			# USB HID Transport
+device		hkbd			# HID Keyboard
+device		ukbd			# USB Keyboard
 device		umass			# Disks/Mass storage - Requires scbus and da
 
 # Sound support
@@ -111,6 +113,7 @@ device		mmcsd			# mmc/sd flash cards
 # HID support
 options 	HID_DEBUG		# enable debug msgs
 device		hid			# Generic HID support
+device		hidbus			# Generic HID Bus
 
 # Firmware
 device		mmio_sram		# Generic on-chip SRAM
diff --git a/sys/conf/files b/sys/conf/files
index 47601d3c7cff..5325e010d970 100644
--- a/sys/conf/files
+++ b/sys/conf/files
@@ -1770,7 +1770,7 @@ dev/hid/hgame.c			optional hgame
 dev/hid/hid.c			optional hid
 dev/hid/hid_if.m		optional hid
 dev/hid/hidbus.c		optional hidbus
-dev/hid/hidmap.c		optional hidmap
+dev/hid/hidmap.c		optional hidmap | hms
 dev/hid/hidquirk.c		optional hid
 dev/hid/hidraw.c		optional hidraw
 dev/hid/hkbd.c			optional hkbd
diff --git a/sys/i386/conf/GENERIC b/sys/i386/conf/GENERIC
index c5ad0a613eaa..79a26583b1b1 100644
--- a/sys/i386/conf/GENERIC
+++ b/sys/i386/conf/GENERIC
@@ -286,7 +286,9 @@ device		ohci			# OHCI PCI->USB interface
 device		ehci			# EHCI PCI->USB interface (USB 2.0)
 device		xhci			# XHCI PCI->USB interface (USB 3.0)
 device		usb			# USB Bus (required)
-device		ukbd			# Keyboard
+device		usbhid			# USB HID Transport
+device		hkbd			# HID Keyboard
+device		ukbd			# USB Keyboard
 device		umass			# Disks/Mass storage - Requires scbus and da
 
 # Sound support
@@ -333,4 +335,5 @@ device		uinput			# install /dev/uinput cdev
 # HID support
 options 	HID_DEBUG		# enable debug msgs
 device		hid			# Generic HID support
+device		hidbus			# Generic HID Bus
 options 	IICHID_SAMPLING		# Workaround missing GPIO INTR support
diff --git a/sys/powerpc/conf/GENERIC b/sys/powerpc/conf/GENERIC
index c839e2d63b9e..c2a68dba326a 100644
--- a/sys/powerpc/conf/GENERIC
+++ b/sys/powerpc/conf/GENERIC
@@ -172,12 +172,15 @@ device		uhci		# UHCI PCI->USB interface
 device		ohci		# OHCI PCI->USB interface
 device		ehci		# EHCI PCI->USB interface
 device		usb		# USB Bus (required)
+device		usbhid		# USB HID Transport
 device		uhid		# "Human Interface Devices"
-device		ukbd		# Keyboard
+device		hkbd		# HID Keyboard
+device		ukbd		# USB Keyboard
 options 	KBD_INSTALL_CDEV # install a CDEV entry in /dev
 device		ulpt		# Printer
 device		umass		# Disks/Mass storage - Requires scbus and da0
-device		ums		# Mouse
+device		hms		# HID Mouse
+device		ums		# USB Mouse
 device		atp		# Apple USB touchpad
 device		urio		# Diamond Rio 500 MP3 player
 # USB Ethernet
@@ -233,3 +236,4 @@ device		virtio_balloon		# VirtIO Memory Balloon device
 # HID support
 options 	HID_DEBUG		# enable debug msgs
 device		hid			# Generic HID support
+device		hidbus			# Generic HID Bus
diff --git a/sys/powerpc/conf/GENERIC64 b/sys/powerpc/conf/GENERIC64
index 1e91a4cc9455..34e6d1bcf027 100644
--- a/sys/powerpc/conf/GENERIC64
+++ b/sys/powerpc/conf/GENERIC64
@@ -211,11 +211,14 @@ device		ohci		# OHCI PCI->USB interface
 device		ehci		# EHCI PCI->USB interface
 device		xhci		# XHCI PCI->USB interface
 device		usb		# USB Bus (required)
+device		usbhid		# USB HID Transport
 device		uhid		# "Human Interface Devices"
-device		ukbd		# Keyboard
+device		hkbd		# HID Keyboard
+device		ukbd		# USB Keyboard
 options 	KBD_INSTALL_CDEV # install a CDEV entry in /dev
 device		umass		# Disks/Mass storage - Requires scbus and da0
-device		ums		# Mouse
+device		hms		# HID Mouse
+device		ums		# USB Mouse
 # USB Ethernet
 device		aue		# ADMtek USB Ethernet
 device		axe		# ASIX Electronics USB Ethernet
@@ -285,3 +288,4 @@ device          virtio_balloon          # VirtIO Memory Balloon device
 # HID support
 options 	HID_DEBUG		# enable debug msgs
 device		hid			# Generic HID support
+device		hidbus			# Generic HID Bus
diff --git a/sys/powerpc/conf/GENERIC64LE b/sys/powerpc/conf/GENERIC64LE
index d05308b9f0b9..1d4ac62abd81 100644
--- a/sys/powerpc/conf/GENERIC64LE
+++ b/sys/powerpc/conf/GENERIC64LE
@@ -207,11 +207,14 @@ device		ohci		# OHCI PCI->USB interface
 device		ehci		# EHCI PCI->USB interface
 device		xhci		# XHCI PCI->USB interface
 device		usb		# USB Bus (required)
+device		usbhid		# USB HID Transport
 device		uhid		# "Human Interface Devices"
-device		ukbd		# Keyboard
+device		hkbd		# HID Keyboard
+device		ukbd		# USB Keyboard
 options 	KBD_INSTALL_CDEV # install a CDEV entry in /dev
 device		umass		# Disks/Mass storage - Requires scbus and da0
-device		ums		# Mouse
+device		hms		# HID Mouse
+device		ums		# USB Mouse
 # USB Ethernet
 device		aue		# ADMtek USB Ethernet
 device		axe		# ASIX Electronics USB Ethernet
@@ -266,3 +269,4 @@ device          virtio_balloon          # VirtIO Memory Balloon device
 # HID support
 options 	HID_DEBUG		# enable debug msgs
 device		hid			# Generic HID support
+device		hidbus			# Generic HID Bus
diff --git a/sys/powerpc/conf/MPC85XX b/sys/powerpc/conf/MPC85XX
index e44a35377355..e13fc75089f4 100644
--- a/sys/powerpc/conf/MPC85XX
+++ b/sys/powerpc/conf/MPC85XX
@@ -108,10 +108,13 @@ device		uart
 options 	USB_DEBUG	# enable debug msgs
 #device		uhci
 device		ehci
+device  	hkbd
 device  	ukbd
+device  	hms
 device  	ums
 device		umass
 device		usb
+device		usbhid
 device		vlan
 
 # P1022 DIU
@@ -120,6 +123,12 @@ device  	videomode
 device  	vt
 device  	fbd
 
+# evdev interface
+options 	EVDEV_SUPPORT		# evdev support in legacy drivers
+device		evdev			# input event device support
+device		uinput			# install /dev/uinput cdev
+
 # HID support
 options 	HID_DEBUG	# enable debug msgs
 device		hid		# Generic HID support
+device		hidbus		# Generic HID bus
diff --git a/sys/powerpc/conf/MPC85XXSPE b/sys/powerpc/conf/MPC85XXSPE
index 3665da656ed1..2410170f9672 100644
--- a/sys/powerpc/conf/MPC85XXSPE
+++ b/sys/powerpc/conf/MPC85XXSPE
@@ -115,10 +115,13 @@ device		uart
 options 	USB_DEBUG	# enable debug msgs
 #device		uhci
 device		ehci
+device  	hkbd
 device  	ukbd
+device  	hms
 device  	ums
 device		umass
 device		usb
+device		usbhid
 device		vlan
 
 # VirtIO support
@@ -135,6 +138,12 @@ device  	videomode
 device  	vt
 device  	fbd
 
+# evdev interface
+options 	EVDEV_SUPPORT		# evdev support in legacy drivers
+device		evdev			# input event device support
+device		uinput			# install /dev/uinput cdev
+
 # HID support
 options 	HID_DEBUG	# enable debug msgs
 device		hid		# Generic HID support
+device		hidbus		# Generic HID bus
diff --git a/sys/powerpc/conf/QORIQ64 b/sys/powerpc/conf/QORIQ64
index 369e83179c59..e72d967dd895 100644
--- a/sys/powerpc/conf/QORIQ64
+++ b/sys/powerpc/conf/QORIQ64
@@ -112,15 +112,24 @@ options 	USB_DEBUG	# enable debug msgs
 device		ehci
 device		umass
 device		usb
+device		usbhid
 device		vlan
 
 # Desktop related
 device  	vt
 device  	fbd
 options 	KBD_INSTALL_CDEV
+device  	hkbd
 device  	ukbd
+device  	hms
 device  	ums
 
+# evdev interface
+options 	EVDEV_SUPPORT		# evdev support in legacy drivers
+device		evdev			# input event device support
+device		uinput			# install /dev/uinput cdev
+
 # HID support
 options 	HID_DEBUG	# enable debug msgs
 device		hid		# Generic HID support
+device		hidbus		# Generic HID bus
diff --git a/sys/riscv/conf/GENERIC b/sys/riscv/conf/GENERIC
index 5b02f1694fa3..7ecd496d6aab 100644
--- a/sys/riscv/conf/GENERIC
+++ b/sys/riscv/conf/GENERIC
@@ -115,12 +115,15 @@ device		uhci			# UHCI USB interface
 device		ehci			# EHCI USB interface (USB 2.0)
 device		xhci			# XHCI USB interface (USB 3.0)
 device		usb			# USB Bus (required)
+device		usbhid			# USB HID Transport
+device		hkbd			# Keyboard
 device		ukbd			# Keyboard
 device		umass			# Disks/Mass storage - Requires scbus and da
 
 # HID support
 options 	HID_DEBUG	# enable debug msgs
 device		hid		# Generic HID support
+device		hidbus		# Generic HID Bus
 
 # DTrace support
 # device	dtrace