In This Chapter
Overview of a General USB Host Stack Architecture
Overview of Linux USB Host Stack Architecture
The universal serial bus (USB) protocol is a host-driven system consisting of three major layers: the USB interface, the USB system, and the client software. The USB system software is implemented as part of the Linux kernel; the rest of the layer is outside the scope of this chapter. The USB system software consists mostly of the host controller driver (HCD) and a framework for the USB protocol. The system software sometimes adds functionality that is specific to the implementation, which makes the system more functional. You will learn about additional functionality that the Linux USB host stack provides ...