Caution: The pages in this section may contain information that is specific to the legacy version of the driver framework (DFv1).
Writing a device driver is often viewed as a daunting task, fraught with complexities and requiring arcane knowledge of little-known kernel secrets.
The goal of this section is to demystify the process; you'll learn everything you need to know about how to write device drivers, starting with what they do, how they work, and how they fit into the overall system.
List of documents to get started -
The sections are listed above in default reading order, but it's perfectly fine to jump around and read them in order of interest or applicability.