The Linux Kernel In 2018 Finally Deems USB 3.0 Ubiquitous Rather Than An Oddity
For many years now pretty much all Linux distribution vendor kernels have been shipping with CONFIG_USB_XHCI_HCD enabled either built-in or as a module... But built-in is pretty much the best to avoid potential issues at start-up time. As of this week, CONFIG_USB_XHCI_HCD=y is finally set for the default configurations on the x86/x86_64-based kernel builds should you be spinning up a defconfig kernel.
In reality for Linux desktop end-users it shouldn't make a difference since your kernels should already be configured with eXtensible Host Controller Interface (xHCI HCD) enabled, but surprising it has taken until the end of 2018 for it to be part of the default configuration "defconfig" files. The XHCI HCD code itself has been part of the mainline kernel since Linux 2.6.31 released nearly a decade ago.
The commit for the upcoming Linux 4.20~5.0 kernel cycle reads:
A spanking new machine I just got has all but one USB ports wired as 3.0. Booting defconfig resulted in no keyboard or mouse, which was pretty uncool. Let's enable that -- USB3 is ubiquitous rather than an oddity. As 'y' not 'm' -- recovering from initrd problems needs a keyboard. Also add it to the 32-bit defconfig.