August 18, 2020

Device and Drivers

This is a vast subject. There was once a book, "Linux Device Drivers", but the author(s) lost interest and it is now out of date and of little value.

On the ARM platform, this is closely involved with the device tree, which is discussed elsewhere. Drivers as modules is important, but not discussed here (as yet). There are classes of drivers, which is perhaps the first thing to be discussed.

Platform drivers

These are devices that don't exist on a bus that can be probed and allow them to be discovered. On a PC platform, these might be legacy uart devices and such. The linux platform driver framework organizes them on an imaginary "platform bus".

One view is that a platform device is hard-wired on the board, not something that can be plugged in or out.