2023-01-22 21:36:44 +00:00
.. SPDX-License-Identifier: GPL-2.0
2023-01-22 18:48:34 +00:00
==============================
Driver implementer's API guide
==============================
2016-08-20 13:17:32 -06: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.
2024-01-22 15:19:19 -07:00
General information for driver authors
======================================
This section contains documentation that should, at some point or other, be
of interest to most developers working on device drivers.
2016-08-20 13:17:32 -06:00
.. toctree ::
2024-01-22 15:19:19 -07:00
:maxdepth: 1
2016-08-20 13:17:32 -06:00
basics
2024-01-22 15:19:19 -07:00
driver-model/index
device_link
2016-08-20 13:17:32 -06:00
infrastructure
2020-03-02 15:26:38 -07:00
ioctl
2017-02-02 01:32:13 +01:00
pm/index
2024-01-22 15:19:19 -07:00
Useful support libraries
========================
This section contains documentation that should, at some point or other, be
of interest to most developers working on device drivers.
.. toctree ::
:maxdepth: 1
early-userspace/index
connector
2017-01-27 15:43:01 -07:00
device-io
2024-01-22 15:19:19 -07:00
devfreq
2016-12-09 19:53:05 +01:00
dma-buf
2019-02-08 00:27:56 +01:00
component
2024-01-22 15:19:19 -07:00
io-mapping
io_ordering
uio-howto
vfio-mediated-device
vfio
vfio-pci-device-specific-driver-acceptance
Bus-level documentation
=======================
.. toctree ::
:maxdepth: 1
auxiliary_bus
2021-02-16 20:09:50 -08:00
cxl/index
2024-01-22 15:19:19 -07:00
eisa
firewire
2017-12-12 11:00:07 +01:00
i3c/index
2024-01-22 15:19:19 -07:00
isa
men-chameleon-bus
pci/index
2019-06-18 16:03:23 -03:00
rapidio/index
2024-01-22 15:19:19 -07:00
slimbus
usb/index
virtio/index
2016-10-21 22:15:27 +01:00
vme
2024-01-22 15:19:19 -07:00
w1
xillybus
Subsystem-specific APIs
=======================
.. toctree ::
:maxdepth: 1
2016-11-18 16:04:48 -07:00
80211/index
2024-01-22 15:19:19 -07:00
acpi/index
backlight/lp855x-driver.rst
clk
console
crypto/index
dmaengine/index
dpll
edac
2016-12-16 03:10:36 -08:00
firmware/index
2024-01-22 15:19:19 -07:00
fpga/index
frame-buffer
aperture
generic-counter
2018-03-09 00:40:18 +01:00
gpio/index
2024-01-22 15:19:19 -07:00
hsi
hte/index
i2c
iio/index
infiniband
input
interconnect
ipmb
ipmi
libata
mailbox
2019-06-18 16:50:07 -03:00
md/index
2020-03-10 13:57:48 +01:00
media/index
2024-01-22 15:19:19 -07:00
mei/index
memory-devices/index
message-based
2017-03-31 18:17:00 -03:00
misc_devices
2024-01-22 15:19:19 -07:00
miscellaneous
mmc/index
mtd/index
mtdnand
2019-06-18 16:46:30 -03:00
nfc/index
2019-06-27 15:39:22 -03:00
ntb
2024-01-22 15:19:19 -07:00
nvdimm/index
2019-06-27 15:39:22 -03:00
nvmem
parport-lowlevel
2024-01-22 15:19:19 -07:00
phy/index
pin-control
pldmfw/index
2019-04-22 16:49:11 -03:00
pps
ptp
2019-06-27 15:39:22 -03:00
pwm
2024-01-22 15:19:19 -07:00
regulator
reset
2019-06-27 15:39:22 -03:00
rfkill
2024-01-22 15:19:19 -07:00
s390-drivers
scsi
2019-06-27 16:31:35 -03:00
serial/index
2019-06-27 15:39:22 -03:00
sm501
2024-01-22 15:19:19 -07:00
soundwire/index
spi
2020-12-21 19:39:57 +01:00
surface_aggregator/index
2019-06-27 15:39:22 -03:00
switchtec
sync_file
2024-01-22 15:19:19 -07:00
target
tee
thermal/index
2022-04-19 09:43:02 +02:00
tty/index
2024-01-22 15:19:19 -07:00
wbrf
wmi
2019-06-13 14:40:42 -03:00
xilinx/index
2019-06-27 15:39:22 -03:00
zorro
2016-10-26 08:23:15 +02:00
.. only :: subproject and html
Indices
=======
* :ref: `genindex`