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   firmware/index
90   fpga/index
91   frame-buffer
92   aperture
93   generic-counter
94   gpio/index
95   hsi
96   hte/index
97   i2c
98   iio/index
99   infiniband
100   input
101   interconnect
102   ipmb
103   ipmi
104   libata
105   mailbox
106   md/index
107   media/index
108   mei/index
109   memory-devices/index
110   message-based
111   misc_devices
112   miscellaneous
113   mmc/index
114   mtd/index
115   mtdnand
116   nfc/index
117   ntb
118   nvdimm/index
119   nvmem
120   parport-lowlevel
121   phy/index
122   pin-control
123   pldmfw/index
124   pps
125   ptp
126   pwm
127   regulator
128   reset
129   rfkill
130   s390-drivers
131   scsi
132   serial/index
133   sm501
134   soundwire/index
135   spi
136   surface_aggregator/index
137   switchtec
138   sync_file
139   target
140   tee
141   thermal/index
142   tty/index
143   wbrf
144   wmi
145   xilinx/index
146   zorro
147
148.. only::  subproject and html
149
150   Indices
151   =======
152
153   * :ref:`genindex`
154