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