The Linux Kernel
4.9.0
  • Linux Kernel Documentation
  • Linux Kernel Development Documentation
  • Development tools for the kernel
  • The Linux driver implementer’s API guide
    • Driver Basics
    • Device drivers infrastructure
    • Message-based devices
    • Sound Devices
    • Frame Buffer Library
    • Input Subsystem
    • Serial Peripheral Interface (SPI)
    • I2C and SMBus Subsystem
    • High Speed Synchronous Serial Interface (HSI)
    • Parallel Port Devices
    • 16x50 UART Driver
    • Pulse-Width Modulation (PWM)
  • Linux Media Subsystem Documentation
  • Linux GPU Driver Developer’s Guide
  • Linux 802.11 Driver Developer’s Guide
The Linux Kernel
  • Docs »
  • The Linux driver implementer’s API guide
  • View page source

The Linux driver implementer’s API guide¶

The kernel offers a wide variety of interfaces to support the development of device drivers. This document is an only somewhat organized collection of some of those interfaces — it will hopefully get better over time! The available subsections can be seen below.

Table of contents

  • Driver Basics
    • Driver Entry and Exit points
    • Atomic and pointer manipulation
    • Delaying, scheduling, and timer routines
    • Wait queues and Wake events
    • High-resolution timers
    • Workqueues and Kevents
    • Internal Functions
    • Kernel objects manipulation
    • Kernel utility functions
    • Device Resource Management
  • Device drivers infrastructure
    • The Basic Device Driver-Model Structures
    • Device Drivers Base
    • Buffer Sharing and Synchronization
    • Device Drivers DMA Management
    • Device Drivers Power Management
    • Device Drivers ACPI Support
    • Device drivers PnP support
    • Userspace IO devices
  • Message-based devices
    • Fusion message devices
  • Sound Devices
  • Frame Buffer Library
    • Frame Buffer Memory
    • Frame Buffer Colormap
    • Frame Buffer Video Mode Database
    • Frame Buffer Macintosh Video Mode Database
    • Frame Buffer Fonts
  • Input Subsystem
    • Input core
    • Multitouch Library
    • Polled input devices
    • Matrix keyboards/keypads
    • Sparse keymap support
  • Serial Peripheral Interface (SPI)
  • I2C and SMBus Subsystem
  • High Speed Synchronous Serial Interface (HSI)
    • Introduction
    • HSI Subsystem in Linux
    • hsi-char Device
    • The kernel HSI API
  • Parallel Port Devices
  • 16x50 UART Driver
  • Pulse-Width Modulation (PWM)
Next Previous

© Copyright 2016, The kernel development community.

Built with Sphinx using a theme provided by Read the Docs.