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