Here, we'll cover what a device driver is, namespaces, Linux Device Model (LDM) basics, and the character device driver framework. We'll implement simple misc drivers (leveraging the kernel's misc framework). We'll set up communication between the user and kernel spaces (via various interfaces, such as debugfs, sysfs, netlink sockets, and ioctl). You will learn how to work with hardware I/O memory on a peripheral chip, as well as understanding and working with hardware interrupts. You'll also learn how to use kernel features such as kernel-level timers, create kernel threads, and use workqueues.
This section comprises the following chapters:
- Chapter 1, Writing a Simple misc Character Device Driver
- Chapter 2, User-Kernel Communication Pathways
- Chapter 3, Working with Hardware I/O Memory
- Chapter...