xref: /openbmc/linux/Documentation/driver-api/index.rst (revision 2612e3bbc0386368a850140a6c9b990cd496a5ec)
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.. class:: toc-title
13dcec3c8cSJonathan Corbet
14dcec3c8cSJonathan Corbet	   Table of contents
15dcec3c8cSJonathan Corbet
16dcec3c8cSJonathan Corbet.. toctree::
17dcec3c8cSJonathan Corbet   :maxdepth: 2
18dcec3c8cSJonathan Corbet
19fe34c89dSMauro Carvalho Chehab   driver-model/index
20dcec3c8cSJonathan Corbet   basics
21dcec3c8cSJonathan Corbet   infrastructure
226505a18eSJonathan Corbet   ioctl
23ec4b78a0SMauro Carvalho Chehab   early-userspace/index
242728b2d2SRafael J. Wysocki   pm/index
2518bcaa4eSMauro Carvalho Chehab   clk
268a8a602fSJonathan Corbet   device-io
27868c97a8SDaniel Vetter   dma-buf
28aad80040SLukas Wunner   device_link
294d69c80eSDaniel Vetter   component
30dcec3c8cSJonathan Corbet   message-based
3175e70addSrd.dunlab@gmail.com   infiniband
327283f862SThomas Zimmermann   aperture
33dcec3c8cSJonathan Corbet   frame-buffer
34028f2533SJonathan Corbet   regulator
35907d1f14SPhilipp Zabel   reset
3649b2fd6eSJonathan Cameron   iio/index
37dcec3c8cSJonathan Corbet   input
384ad4b21bSMauro Carvalho Chehab   usb/index
39ea2ae0ecSRandy Dunlap   firewire
40fcc78f9cSLogan Gunthorpe   pci/index
414cdadfd5SDan Williams   cxl/index
425e995786SJonathan Corbet   spi
435e995786SJonathan Corbet   i2c
44ac499fbaSMauro Carvalho Chehab   ipmb
45b25fc491SMauro Carvalho Chehab   ipmi
46bd360e81SBoris Brezillon   i3c/index
479b1f4402SMauro Carvalho Chehab   interconnect
4883ededdbSLeonard Crestez   devfreq
495e995786SJonathan Corbet   hsi
506634fbb6SMauro Carvalho Chehab   edac
5160202365SMauro Carvalho Chehab   scsi
520ec88413SMauro Carvalho Chehab   libata
536a59fd77SRandy Dunlap   target
54d8451dfcSMauro Carvalho Chehab   mailbox
55609f212fSMauro Carvalho Chehab   mtdnand
56dcec3c8cSJonathan Corbet   miscellaneous
577e527e11STomas Winkler   mei/index
5843f6c078SMauro Carvalho Chehab   mtd/index
5919024c09SMauro Carvalho Chehab   mmc/index
60ae4a0502SMauro Carvalho Chehab   nvdimm/index
61b4c1064aSMauro Carvalho Chehab   w1
62d2bdd48aSMauro Carvalho Chehab   rapidio/index
63bcb1a87aSMauro Carvalho Chehab   s390-drivers
6475a163c4SMartyn Welch   vme
650bb33e25SJonathan Corbet   80211/index
66cadf8106SAlexander Dahl   uio-howto
67113ccc38SLuis R. Rodriguez   firmware/index
685513b411SDrew Fustini   pin-control
697e633259SJonathan Neuschäfer   gpio/index
70c0b11a50SMauro Carvalho Chehab   md/index
71d29e1ef4SMauro Carvalho Chehab   media/index
72c7e2c064SMauro Carvalho Chehab   misc_devices
73e253d2c5SMauro Carvalho Chehab   nfc/index
748a0698c1SVinod Koul   dmaengine/index
75202318d3SSagar Dharia   slimbus
768ecf4264SSanyog Kale   soundwire/index
77eaf7b460SMauro Carvalho Chehab   thermal/index
7866c472cdSAlan Tull   fpga/index
79680e6ffaSChangbin Du   acpi/index
807de3697eSDave Ertman   auxiliary_bus
8156198359SMauro Carvalho Chehab   backlight/lp855x-driver.rst
82baa293e9SMauro Carvalho Chehab   connector
83baa293e9SMauro Carvalho Chehab   console
84baa293e9SMauro Carvalho Chehab   dcdbas
85baa293e9SMauro Carvalho Chehab   eisa
86baa293e9SMauro Carvalho Chehab   isa
87baa293e9SMauro Carvalho Chehab   isapnp
88fcd68072SPragat Pandya   io-mapping
89d1ce3500SPragat Pandya   io_ordering
9009e7d4edSWilliam Breathitt Gray   generic-counter
91652a49bcSMauro Carvalho Chehab   memory-devices/index
92baa293e9SMauro Carvalho Chehab   men-chameleon-bus
93baa293e9SMauro Carvalho Chehab   ntb
94baa293e9SMauro Carvalho Chehab   nvmem
95baa293e9SMauro Carvalho Chehab   parport-lowlevel
96c92992fcSMauro Carvalho Chehab   pps
97c92992fcSMauro Carvalho Chehab   ptp
984745dc8aSMauro Carvalho Chehab   phy/index
99baa293e9SMauro Carvalho Chehab   pwm
100b8265621SJacob Keller   pldmfw/index
101baa293e9SMauro Carvalho Chehab   rfkill
10265388dadSMauro Carvalho Chehab   serial/index
103baa293e9SMauro Carvalho Chehab   sm501
1048d779282SMaximilian Luz   surface_aggregator/index
105baa293e9SMauro Carvalho Chehab   switchtec
106baa293e9SMauro Carvalho Chehab   sync_file
1072a72b1b2SJiri Slaby   tty/index
108baa293e9SMauro Carvalho Chehab   vfio-mediated-device
109baa293e9SMauro Carvalho Chehab   vfio
110f621eb13SAlex Williamson   vfio-pci-device-specific-driver-acceptance
111d16c0cd2SRicardo Cañuelo   virtio/index
112fb8c5327SMauro Carvalho Chehab   xilinx/index
113baa293e9SMauro Carvalho Chehab   xillybus
114baa293e9SMauro Carvalho Chehab   zorro
1159c73e1e0SJonathan Corbet   hte/index
116*e8f8b448SArmin Wolf   wmi
117241a8021SMarkus Heiser
118241a8021SMarkus Heiser.. only::  subproject and html
119241a8021SMarkus Heiser
120241a8021SMarkus Heiser   Indices
121241a8021SMarkus Heiser   =======
122241a8021SMarkus Heiser
123241a8021SMarkus Heiser   * :ref:`genindex`
124