1.. SPDX-License-Identifier: GPL-2.0
2
3==============================
4Driver implementer's API guide
5==============================
6
7The kernel offers a wide variety of interfaces to support the development
8of device drivers.  This document is an only somewhat organized collection
9of some of those interfaces — it will hopefully get better over time!  The
10available subsections can be seen below.
11
12
13General information for driver authors
14======================================
15
16This section contains documentation that should, at some point or other, be
17of interest to most developers working on device drivers.
18
19.. toctree::
20   :maxdepth: 1
21
22   basics
23   driver-model/index
24   device_link
25   infrastructure
26   ioctl
27   pm/index
28
29Useful support libraries
30========================
31
32This section contains documentation that should, at some point or other, be
33of interest to most developers working on device drivers.
34
35.. toctree::
36   :maxdepth: 1
37
38   early-userspace/index
39   connector
40   device-io
41   devfreq
42   dma-buf
43   component
44   io-mapping
45   io_ordering
46   uio-howto
47   vfio-mediated-device
48   vfio
49   vfio-pci-device-specific-driver-acceptance
50
51Bus-level documentation
52=======================
53
54.. toctree::
55   :maxdepth: 1
56
57   auxiliary_bus
58   cxl/index
59   eisa
60   firewire
61   i3c/index
62   isa
63   men-chameleon-bus
64   pci/index
65   rapidio/index
66   slimbus
67   usb/index
68   virtio/index
69   vme
70   w1
71   xillybus
72
73
74Subsystem-specific APIs
75=======================
76
77.. toctree::
78   :maxdepth: 1
79
80   80211/index
81   acpi/index
82   backlight/lp855x-driver.rst
83   clk
84   console
85   crypto/index
86   dmaengine/index
87   dpll
88   edac
89   extcon
90   firmware/index
91   fpga/index
92   frame-buffer
93   aperture
94   generic-counter
95   gpio/index
96   hsi
97   hte/index
98   i2c
99   iio/index
100   infiniband
101   input
102   interconnect
103   ipmb
104   ipmi
105   libata
106   mailbox
107   md/index
108   media/index
109   mei/index
110   memory-devices/index
111   message-based
112   misc_devices
113   miscellaneous
114   mmc/index
115   mtd/index
116   mtdnand
117   nfc/index
118   ntb
119   nvdimm/index
120   nvmem
121   parport-lowlevel
122   phy/index
123   pin-control
124   pldmfw/index
125   pps
126   ptp
127   pwm
128   pwrseq
129   regulator
130   reset
131   rfkill
132   s390-drivers
133   scsi
134   serial/index
135   sm501
136   soundwire/index
137   spi
138   surface_aggregator/index
139   switchtec
140   sync_file
141   target
142   tee
143   thermal/index
144   tty/index
145   wbrf
146   wmi
147   xilinx/index
148   zorro
149
150.. only::  subproject and html
151
152   Indices
153   =======
154
155   * :ref:`genindex`
156