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 | ||
12 | .. class:: toc-title | |
13 | ||
14 | Table of contents | |
15 | ||
16 | .. toctree:: | |
17 | :maxdepth: 2 | |
18 | ||
fe34c89d | 19 | driver-model/index |
dcec3c8c JC |
20 | basics |
21 | infrastructure | |
6505a18e | 22 | ioctl |
ec4b78a0 | 23 | early-userspace/index |
2728b2d2 | 24 | pm/index |
18bcaa4e | 25 | clk |
8a8a602f | 26 | device-io |
868c97a8 | 27 | dma-buf |
aad80040 | 28 | device_link |
4d69c80e | 29 | component |
dcec3c8c | 30 | message-based |
75e70add | 31 | infiniband |
7283f862 | 32 | aperture |
dcec3c8c | 33 | frame-buffer |
028f2533 | 34 | regulator |
907d1f14 | 35 | reset |
49b2fd6e | 36 | iio/index |
dcec3c8c | 37 | input |
4ad4b21b | 38 | usb/index |
ea2ae0ec | 39 | firewire |
fcc78f9c | 40 | pci/index |
4cdadfd5 | 41 | cxl/index |
5e995786 JC |
42 | spi |
43 | i2c | |
ac499fba | 44 | ipmb |
b25fc491 | 45 | ipmi |
bd360e81 | 46 | i3c/index |
9b1f4402 | 47 | interconnect |
83ededdb | 48 | devfreq |
5e995786 | 49 | hsi |
6634fbb6 | 50 | edac |
60202365 | 51 | scsi |
0ec88413 | 52 | libata |
6a59fd77 | 53 | target |
d8451dfc | 54 | mailbox |
609f212f | 55 | mtdnand |
dcec3c8c | 56 | miscellaneous |
7e527e11 | 57 | mei/index |
43f6c078 | 58 | mtd/index |
19024c09 | 59 | mmc/index |
ae4a0502 | 60 | nvdimm/index |
b4c1064a | 61 | w1 |
d2bdd48a | 62 | rapidio/index |
bcb1a87a | 63 | s390-drivers |
75a163c4 | 64 | vme |
0bb33e25 | 65 | 80211/index |
cadf8106 | 66 | uio-howto |
113ccc38 | 67 | firmware/index |
5513b411 | 68 | pin-control |
7e633259 | 69 | gpio/index |
c0b11a50 | 70 | md/index |
d29e1ef4 | 71 | media/index |
c7e2c064 | 72 | misc_devices |
e253d2c5 | 73 | nfc/index |
8a0698c1 | 74 | dmaengine/index |
202318d3 | 75 | slimbus |
8ecf4264 | 76 | soundwire/index |
eaf7b460 | 77 | thermal/index |
66c472cd | 78 | fpga/index |
680e6ffa | 79 | acpi/index |
7de3697e | 80 | auxiliary_bus |
56198359 | 81 | backlight/lp855x-driver.rst |
baa293e9 MCC |
82 | connector |
83 | console | |
84 | dcdbas | |
baa293e9 MCC |
85 | eisa |
86 | isa | |
87 | isapnp | |
fcd68072 | 88 | io-mapping |
d1ce3500 | 89 | io_ordering |
09e7d4ed | 90 | generic-counter |
652a49bc | 91 | memory-devices/index |
baa293e9 MCC |
92 | men-chameleon-bus |
93 | ntb | |
94 | nvmem | |
95 | parport-lowlevel | |
c92992fc MCC |
96 | pps |
97 | ptp | |
4745dc8a | 98 | phy/index |
baa293e9 | 99 | pwm |
b8265621 | 100 | pldmfw/index |
baa293e9 | 101 | rfkill |
65388dad | 102 | serial/index |
baa293e9 | 103 | sm501 |
8d779282 | 104 | surface_aggregator/index |
baa293e9 MCC |
105 | switchtec |
106 | sync_file | |
2a72b1b2 | 107 | tty/index |
baa293e9 MCC |
108 | vfio-mediated-device |
109 | vfio | |
f621eb13 | 110 | vfio-pci-device-specific-driver-acceptance |
d16c0cd2 | 111 | virtio/index |
fb8c5327 | 112 | xilinx/index |
baa293e9 MCC |
113 | xillybus |
114 | zorro | |
9c73e1e0 | 115 | hte/index |
241a8021 MH |
116 | |
117 | .. only:: subproject and html | |
118 | ||
119 | Indices | |
120 | ======= | |
121 | ||
122 | * :ref:`genindex` |