2023-01-23 00:36:44 +03:00
.. SPDX-License-Identifier: GPL-2.0
2023-01-22 21:48:34 +03:00
==============================
Driver implementer's API guide
==============================
2016-08-20 22:17:32 +03:00
The kernel offers a wide variety of interfaces to support the development
of device drivers. This document is an only somewhat organized collection
of some of those interfaces — it will hopefully get better over time! The
available subsections can be seen below.
.. toctree ::
2023-10-27 11:18:25 +03:00
:caption: Table of contents
2016-08-20 22:17:32 +03:00
:maxdepth: 2
2019-06-18 18:34:59 +03:00
driver-model/index
2016-08-20 22:17:32 +03:00
basics
infrastructure
2020-03-03 01:26:38 +03:00
ioctl
2019-06-18 21:00:25 +03:00
early-userspace/index
2017-02-02 03:32:13 +03:00
pm/index
2018-05-07 12:35:44 +03:00
clk
2017-01-28 01:43:01 +03:00
device-io
2016-12-09 21:53:05 +03:00
dma-buf
2016-12-04 15:10:04 +03:00
device_link
2019-02-08 02:27:56 +03:00
component
2016-08-20 22:17:32 +03:00
message-based
2019-10-10 06:52:51 +03:00
infiniband
2022-06-22 17:01:33 +03:00
aperture
2016-08-20 22:17:32 +03:00
frame-buffer
2017-01-28 02:50:34 +03:00
regulator
2020-12-01 14:57:54 +03:00
reset
2017-01-01 15:32:45 +03:00
iio/index
2016-08-20 22:17:32 +03:00
input
2017-04-05 16:22:57 +03:00
usb/index
2018-09-05 03:02:24 +03:00
firewire
2018-10-05 00:27:39 +03:00
pci/index
2021-02-17 07:09:50 +03:00
cxl/index
2016-09-06 16:15:24 +03:00
spi
i2c
2019-06-29 13:36:46 +03:00
ipmb
2020-05-01 18:37:48 +03:00
ipmi
2017-12-12 13:00:07 +03:00
i3c/index
2019-06-18 23:15:10 +03:00
interconnect
2019-11-19 19:38:56 +03:00
devfreq
2016-09-06 16:15:24 +03:00
hsi
2016-10-26 19:14:45 +03:00
edac
2017-05-12 15:59:02 +03:00
scsi
2017-05-12 14:14:47 +03:00
libata
2018-04-14 20:51:06 +03:00
target
2020-06-23 16:31:37 +03:00
mailbox
2017-05-13 13:10:44 +03:00
mtdnand
2016-08-20 22:17:32 +03:00
miscellaneous
2019-06-03 12:14:00 +03:00
mei/index
2019-06-18 22:40:16 +03:00
mtd/index
2019-06-18 22:48:15 +03:00
mmc/index
2019-06-18 22:32:31 +03:00
nvdimm/index
2017-05-12 16:28:13 +03:00
w1
2019-06-18 22:03:23 +03:00
rapidio/index
2017-05-12 14:57:50 +03:00
s390-drivers
2016-10-22 00:15:27 +03:00
vme
2016-11-19 02:04:48 +03:00
80211/index
2017-01-28 12:45:32 +03:00
uio-howto
2016-12-16 14:10:36 +03:00
firmware/index
2021-03-02 08:30:58 +03:00
pin-control
2018-03-09 02:40:18 +03:00
gpio/index
2019-06-18 22:50:07 +03:00
md/index
2020-03-10 15:57:48 +03:00
media/index
2017-04-01 00:17:00 +03:00
misc_devices
2019-06-18 22:46:30 +03:00
nfc/index
2017-11-03 07:49:37 +03:00
dmaengine/index
2017-12-12 02:42:55 +03:00
slimbus
2017-12-14 08:49:32 +03:00
soundwire/index
2019-07-26 15:51:12 +03:00
thermal/index
2018-05-17 02:50:02 +03:00
fpga/index
2019-04-25 18:30:54 +03:00
acpi/index
2020-12-03 03:54:24 +03:00
auxiliary_bus
2019-06-18 17:44:24 +03:00
backlight/lp855x-driver.rst
2019-06-27 21:39:22 +03:00
connector
console
eisa
isa
2020-03-03 08:03:00 +03:00
io-mapping
2020-03-03 08:03:01 +03:00
io_ordering
2019-04-02 09:30:38 +03:00
generic-counter
2019-06-18 21:03:13 +03:00
memory-devices/index
2019-06-27 21:39:22 +03:00
men-chameleon-bus
ntb
nvmem
parport-lowlevel
2019-04-22 22:49:11 +03:00
pps
ptp
2019-06-27 22:36:04 +03:00
phy/index
2019-06-27 21:39:22 +03:00
pwm
2020-07-24 03:21:59 +03:00
pldmfw/index
2019-06-27 21:39:22 +03:00
rfkill
2019-06-27 22:31:35 +03:00
serial/index
2019-06-27 21:39:22 +03:00
sm501
2020-12-21 21:39:57 +03:00
surface_aggregator/index
2019-06-27 21:39:22 +03:00
switchtec
sync_file
2022-04-19 10:43:02 +03:00
tty/index
2019-06-27 21:39:22 +03:00
vfio-mediated-device
vfio
2022-03-15 20:29:57 +03:00
vfio-pci-device-specific-driver-acceptance
2022-10-10 09:43:59 +03:00
virtio/index
2019-06-13 20:40:42 +03:00
xilinx/index
2019-06-27 21:39:22 +03:00
xillybus
zorro
2022-06-06 17:40:55 +03:00
hte/index
2023-04-25 01:29:38 +03:00
wmi
2023-09-13 23:49:35 +03:00
dpll
2023-12-11 13:06:22 +03:00
wbrf
2023-12-06 00:25:23 +03:00
crypto/index
2023-11-28 10:23:52 +03:00
tee
2016-10-26 09:23:15 +03:00
.. only :: subproject and html
Indices
=======
* :ref: `genindex`