Download Bootstrap Yourself with Linux-USB Stack

Transcript
Chapter 9
Generic Driver
In This Chapter
n
Bootstrap Essentials: Linux USB Generic Driver
n
Linux USB usbcore-generic Driver Framework
n
Developing a USB Device Driver
The universal serial bus (USB) host system software is responsible for managing
control and data flow between the host and devices, power management, and
enumeration. The USB host system software is complex, and the design is
specific to the operating system. In Linux, the USB host system software module
is referred to as usbcore, which implements these host functionalities. Previous
chapters explored features such as power management, the hub, and other
miscellaneous functionalities, such as the device file system. This chapter
explores the framework that implements control and data flow of part of the
system software along with the framework that develops class drivers. Figure 9.1
is a simple representation of this framework within the Linux USB host system.
Because this part of the usbcore module is responsible for most of the USB host
functionality, we provide a hypothetical name for this framework, say, usbcoregeneric for ease of reference. Initially, this chapter details the data structures
required for the usbcore-generic framework. Subsequently, it explores the
sequence of activities within the usbcore-generic framework. The chapter
111