- The serial device bus was compiled as a module, but this disabled
use of the serial device TTY port controller that actually
interfaces with the serdev drivers[1], rendering them unusable.
Examples include the serdev driver for broadcom bluetooth HCI.
- Once built in to the kernel, enabling SERIAL_DEV_CTRL_TTYPORT to
be built in, the userspace dependency on btattach is removed
and the presence of the bluetooth controller can be indicated
in the device tree, instead. This doesn't simply get rid of
the dependency on btattach, but improves functionality,
as the kernel does not restore the UART link to a higher baud
rate after uploading the firmware to the bluetooth controller
when notified of the controller over btattach but does so
when notified through the device tree. hciattach does
restore a higher set baud rate, but that is deprecated.
- According to [2], the configuration settings USB_CONFIGFS_F_*
are meant for the user to indicate what sort of gadget
functionality is to be enabled, while settings USB_F_* are
meant to be used in the makefile for compilation.
- Enabled USB_CONFIGFS_F_UAC2 at the same time, since UAC1
does not play well when used with a high-speed composite
device (UAC1 is not compatible with high-speed, while
UAC2 is)
- Kernel image size increased by 4008 bytes after these changes
1 - http://events17.linuxfoundation.org/sites/events/files/slides/serdev-elce-2017-2.pdf
2 - https://www.spinics.net/lists/linux-usb/msg142134.html