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