^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) ========================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) The Linux driver implementer's API guide
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) ========================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) The kernel offers a wide variety of interfaces to support the development
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) of device drivers. This document is an only somewhat organized collection
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) of some of those interfaces — it will hopefully get better over time! The
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) available subsections can be seen below.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) .. class:: toc-title
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) Table of contents
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) .. toctree::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) :maxdepth: 2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) driver-model/index
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) basics
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) infrastructure
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) ioctl
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) early-userspace/index
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) pm/index
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) clk
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) device-io
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) dma-buf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) device_link
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) component
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) message-based
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) infiniband
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) frame-buffer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) regulator
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) iio/index
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) input
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) usb/index
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) firewire
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) pci/index
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) spi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) i2c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) ipmb
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) ipmi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) i3c/index
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) interconnect
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) devfreq
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) hsi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) edac
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) scsi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) libata
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) target
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) mailbox
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) mtdnand
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) miscellaneous
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) mei/index
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) mtd/index
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) mmc/index
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) nvdimm/index
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) w1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) rapidio/index
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) s390-drivers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) vme
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) 80211/index
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) uio-howto
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) firmware/index
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) pinctl
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) gpio/index
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) md/index
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) media/index
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) misc_devices
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) nfc/index
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) dmaengine/index
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) slimbus
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) soundwire/index
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) thermal/index
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) fpga/index
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) acpi/index
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) backlight/lp855x-driver.rst
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) connector
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) console
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) dcdbas
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) eisa
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) isa
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) isapnp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) io-mapping
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) io_ordering
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) generic-counter
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) lightnvm-pblk
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) memory-devices/index
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) men-chameleon-bus
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) ntb
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) nvmem
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) parport-lowlevel
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) pps
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) ptp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) phy/index
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) pti_intel_mid
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) pwm
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) pldmfw/index
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) rfkill
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) serial/index
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) sm501
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) switchtec
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) sync_file
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) vfio-mediated-device
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) vfio
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) xilinx/index
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) xillybus
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) zorro
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) .. only:: subproject and html
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) Indices
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) =======
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) * :ref:`genindex`