Loading...
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 pwrseq
128 regulator
129 reset
130 rfkill
131 s390-drivers
132 scsi
133 serial/index
134 sm501
135 soundwire/index
136 spi
137 surface_aggregator/index
138 switchtec
139 sync_file
140 target
141 tee
142 thermal/index
143 tty/index
144 wbrf
145 wmi
146 xilinx/index
147 zorro
148
149.. only:: subproject and html
150
151 Indices
152 =======
153
154 * :ref:`genindex`
1========================================
2The Linux driver implementer's API guide
3========================================
4
5The kernel offers a wide variety of interfaces to support the development
6of device drivers. This document is an only somewhat organized collection
7of some of those interfaces — it will hopefully get better over time! The
8available subsections can be seen below.
9
10.. class:: toc-title
11
12 Table of contents
13
14.. toctree::
15 :maxdepth: 2
16
17 basics
18 infrastructure
19 pm/index
20 device-io
21 dma-buf
22 device_link
23 message-based
24 sound
25 frame-buffer
26 regulator
27 iio/index
28 input
29 usb/index
30 pci
31 spi
32 i2c
33 hsi
34 edac
35 scsi
36 libata
37 mtdnand
38 miscellaneous
39 w1
40 rapidio
41 s390-drivers
42 vme
43 80211/index
44 uio-howto
45 firmware/index
46 pinctl
47 gpio/index
48 misc_devices
49 dmaengine/index
50 slimbus
51 soundwire/index
52
53.. only:: subproject and html
54
55 Indices
56 =======
57
58 * :ref:`genindex`