Chapter 5. Device Drivers
In the previous chapter, we saw how to manage a LED from a remote PC, and then we used a dedicated web server to manage the LED remotely. In order to do this, we introduced the BeagleBone Black's GPIO subsystem; however, tons of different kinds of computer peripherals exist, so now it's time to recall what we saw in the homonyms section in the Device drivers section of Chapter 3, Compiling versus Cross-compiling, and try to focus our attention a bit more in-depth on what a device driver is and how it can be used.
After a brief introduction of the device driver concept, we'll see a possible implementation of a very simple driver (by writing a proper kernel module) in order to show you the Linux kernel's internals, and then, starting from the next chapter, we'll present different kinds of computer peripherals, and for each of them, we'll try to explain how the corresponding device driver works, starting from the compilation...