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.