xref: /linux/Documentation/driver-api/index.rst (revision 2fe3c78a2c26dd5ee811024a1b7d6cfb4d654319)
14f46ae9fSSeongJae Park.. SPDX-License-Identifier: GPL-2.0
24f46ae9fSSeongJae Park
3941c95fdSSeongJae Park==============================
4941c95fdSSeongJae ParkDriver implementer's API guide
5941c95fdSSeongJae Park==============================
6dcec3c8cSJonathan Corbet
7dcec3c8cSJonathan CorbetThe kernel offers a wide variety of interfaces to support the development
8dcec3c8cSJonathan Corbetof device drivers.  This document is an only somewhat organized collection
9dcec3c8cSJonathan Corbetof some of those interfaces — it will hopefully get better over time!  The
10dcec3c8cSJonathan Corbetavailable subsections can be seen below.
11dcec3c8cSJonathan Corbet
12dcec3c8cSJonathan Corbet
130c17bb5eSJonathan CorbetGeneral information for driver authors
140c17bb5eSJonathan Corbet======================================
150c17bb5eSJonathan Corbet
160c17bb5eSJonathan CorbetThis section contains documentation that should, at some point or other, be
170c17bb5eSJonathan Corbetof interest to most developers working on device drivers.
180c17bb5eSJonathan Corbet
190c17bb5eSJonathan Corbet.. toctree::
200c17bb5eSJonathan Corbet   :maxdepth: 1
210c17bb5eSJonathan Corbet
22dcec3c8cSJonathan Corbet   basics
230c17bb5eSJonathan Corbet   driver-model/index
240c17bb5eSJonathan Corbet   device_link
25dcec3c8cSJonathan Corbet   infrastructure
266505a18eSJonathan Corbet   ioctl
272728b2d2SRafael J. Wysocki   pm/index
280c17bb5eSJonathan Corbet
290c17bb5eSJonathan CorbetUseful support libraries
300c17bb5eSJonathan Corbet========================
310c17bb5eSJonathan Corbet
320c17bb5eSJonathan CorbetThis section contains documentation that should, at some point or other, be
330c17bb5eSJonathan Corbetof interest to most developers working on device drivers.
340c17bb5eSJonathan Corbet
350c17bb5eSJonathan Corbet.. toctree::
360c17bb5eSJonathan Corbet   :maxdepth: 1
370c17bb5eSJonathan Corbet
380c17bb5eSJonathan Corbet   early-userspace/index
39baa293e9SMauro Carvalho Chehab   connector
400c17bb5eSJonathan Corbet   device-io
410c17bb5eSJonathan Corbet   devfreq
420c17bb5eSJonathan Corbet   dma-buf
430c17bb5eSJonathan Corbet   component
44fcd68072SPragat Pandya   io-mapping
45d1ce3500SPragat Pandya   io_ordering
460c17bb5eSJonathan Corbet   uio-howto
47baa293e9SMauro Carvalho Chehab   vfio-mediated-device
48baa293e9SMauro Carvalho Chehab   vfio
49f621eb13SAlex Williamson   vfio-pci-device-specific-driver-acceptance
500c17bb5eSJonathan Corbet
510c17bb5eSJonathan CorbetBus-level documentation
520c17bb5eSJonathan Corbet=======================
530c17bb5eSJonathan Corbet
540c17bb5eSJonathan Corbet.. toctree::
550c17bb5eSJonathan Corbet   :maxdepth: 1
560c17bb5eSJonathan Corbet
570c17bb5eSJonathan Corbet   auxiliary_bus
580c17bb5eSJonathan Corbet   cxl/index
590c17bb5eSJonathan Corbet   eisa
600c17bb5eSJonathan Corbet   firewire
610c17bb5eSJonathan Corbet   i3c/index
620c17bb5eSJonathan Corbet   isa
630c17bb5eSJonathan Corbet   men-chameleon-bus
640c17bb5eSJonathan Corbet   pci/index
650c17bb5eSJonathan Corbet   rapidio/index
660c17bb5eSJonathan Corbet   slimbus
670c17bb5eSJonathan Corbet   usb/index
68d16c0cd2SRicardo Cañuelo   virtio/index
690c17bb5eSJonathan Corbet   vme
700c17bb5eSJonathan Corbet   w1
71baa293e9SMauro Carvalho Chehab   xillybus
720c17bb5eSJonathan Corbet
730c17bb5eSJonathan Corbet
740c17bb5eSJonathan CorbetSubsystem-specific APIs
750c17bb5eSJonathan Corbet=======================
760c17bb5eSJonathan Corbet
770c17bb5eSJonathan Corbet.. toctree::
780c17bb5eSJonathan Corbet   :maxdepth: 1
790c17bb5eSJonathan Corbet
800c17bb5eSJonathan Corbet   80211/index
810c17bb5eSJonathan Corbet   acpi/index
820c17bb5eSJonathan Corbet   backlight/lp855x-driver.rst
830c17bb5eSJonathan Corbet   clk
840c17bb5eSJonathan Corbet   console
858ccc257bSTom Zanussi   crypto/index
860c17bb5eSJonathan Corbet   dmaengine/index
870c17bb5eSJonathan Corbet   dpll
880c17bb5eSJonathan Corbet   edac
890c17bb5eSJonathan Corbet   firmware/index
900c17bb5eSJonathan Corbet   fpga/index
910c17bb5eSJonathan Corbet   frame-buffer
920c17bb5eSJonathan Corbet   aperture
930c17bb5eSJonathan Corbet   generic-counter
940c17bb5eSJonathan Corbet   gpio/index
950c17bb5eSJonathan Corbet   hsi
960c17bb5eSJonathan Corbet   hte/index
970c17bb5eSJonathan Corbet   i2c
980c17bb5eSJonathan Corbet   iio/index
990c17bb5eSJonathan Corbet   infiniband
1000c17bb5eSJonathan Corbet   input
1010c17bb5eSJonathan Corbet   interconnect
1020c17bb5eSJonathan Corbet   ipmb
1030c17bb5eSJonathan Corbet   ipmi
1040c17bb5eSJonathan Corbet   libata
1050c17bb5eSJonathan Corbet   mailbox
1060c17bb5eSJonathan Corbet   md/index
1070c17bb5eSJonathan Corbet   media/index
1080c17bb5eSJonathan Corbet   mei/index
1090c17bb5eSJonathan Corbet   memory-devices/index
1100c17bb5eSJonathan Corbet   message-based
1110c17bb5eSJonathan Corbet   misc_devices
1120c17bb5eSJonathan Corbet   miscellaneous
1130c17bb5eSJonathan Corbet   mmc/index
1140c17bb5eSJonathan Corbet   mtd/index
1150c17bb5eSJonathan Corbet   mtdnand
1160c17bb5eSJonathan Corbet   nfc/index
1170c17bb5eSJonathan Corbet   ntb
1180c17bb5eSJonathan Corbet   nvdimm/index
1190c17bb5eSJonathan Corbet   nvmem
1200c17bb5eSJonathan Corbet   parport-lowlevel
1210c17bb5eSJonathan Corbet   phy/index
1220c17bb5eSJonathan Corbet   pin-control
1230c17bb5eSJonathan Corbet   pldmfw/index
1240c17bb5eSJonathan Corbet   pps
1250c17bb5eSJonathan Corbet   ptp
1260c17bb5eSJonathan Corbet   pwm
127*8b7e0a6cSBartosz Golaszewski   pwrseq
1280c17bb5eSJonathan Corbet   regulator
1290c17bb5eSJonathan Corbet   reset
1300c17bb5eSJonathan Corbet   rfkill
1310c17bb5eSJonathan Corbet   s390-drivers
1320c17bb5eSJonathan Corbet   scsi
1330c17bb5eSJonathan Corbet   serial/index
1340c17bb5eSJonathan Corbet   sm501
1350c17bb5eSJonathan Corbet   soundwire/index
1360c17bb5eSJonathan Corbet   spi
1370c17bb5eSJonathan Corbet   surface_aggregator/index
1380c17bb5eSJonathan Corbet   switchtec
1390c17bb5eSJonathan Corbet   sync_file
1400c17bb5eSJonathan Corbet   target
14150709576SSumit Garg   tee
1420c17bb5eSJonathan Corbet   thermal/index
1430c17bb5eSJonathan Corbet   tty/index
1440c17bb5eSJonathan Corbet   wbrf
1450c17bb5eSJonathan Corbet   wmi
1460c17bb5eSJonathan Corbet   xilinx/index
1470c17bb5eSJonathan Corbet   zorro
148241a8021SMarkus Heiser
149241a8021SMarkus Heiser.. only::  subproject and html
150241a8021SMarkus Heiser
151241a8021SMarkus Heiser   Indices
152241a8021SMarkus Heiser   =======
153241a8021SMarkus Heiser
154241a8021SMarkus Heiser   * :ref:`genindex`
155