요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
.. SPDX-License-Identifier: GPL-2.0
==============================
Driver implementer's API guide
==============================
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.
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.
.. toctree::
:maxdepth: 1
basics
driver-model/index
device_link
infrastructure
ioctl
pm/index
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
device-io
devfreq
dma-buf
component
io-mapping
io_ordering
uio-howto
vfio-mediated-device
vfio
vfio-pci-device-specific-driver-acceptance
Bus-level documentation
=======================
.. toctree::
:maxdepth: 1
auxiliary_bus
cxl/index
eisa
firewire
i3c/index
isa
men-chameleon-bus
pci/index
rapidio/index
slimbus
usb/index
virtio/index
vme
w1
xillybus
Subsystem-specific APIs
=======================
.. toctree::
:maxdepth: 1
80211/index
acpi/index
backlight/lp855x-driver.rst
clk
coco/index
console
crypto/index
dmaengine/index
dpll
edac
extcon
firmware/index
fpga/index
frame-buffer
aperture
generic-counter
gpio/index
hsi
hte/index
i2c
iio/index
infiniband
input
interconnect
ipmb
ipmi
libata
mailbox
md/index
media/index
mei/index
memory-devices/index
message-based
misc_devices
miscellaneous
mmc/index
mtd/index
mtdnand
nfc/index
ntb
nvdimm/index
nvmem
parport-lowlevel
phy/index
pin-control
pldmfw/index
pps
ptp
pwm
pwrseq
regulator
reset
rfkill
s390-drivers
scsi
serial/index
sm501
soundwire/index
spi
surface_aggregator/index
switchtec
sync_file
target
tee
thermal/index
tty/index
wbrf
wmi
xilinx/index
zorro
.. only:: subproject and html
Indices
=======
* :ref:`genindex`
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
Driver implementer API guide
1-12문서 제목은 `Driver implementer's API guide`입니다. Kernel은 device driver 개발을 지원하는 매우 다양한 interface를 제공합니다. 이 문서는 그 interface 일부를 완전히 정돈되지는 않은 형태로 모은 collection이며 앞으로 개선될 예정입니다. 사용 가능한 subsection은 아래 범주별로 나뉩니다.
공통 기반에서 bus·subsystem API로 내려가는 문서 분류입니다.
Driver author 공통 정보
13-28이 section은 device driver를 다루는 대부분의 developer가 언젠가 참고할 문서를 담습니다. `basics`, driver model, `device_link`, infrastructure, ioctl, power-management index를 max depth 1로 연결합니다.
.. toctree::
:maxdepth: 1
basics
driver-model/index
device_link
infrastructure
ioctl
pm/index
Driver 작성의 lifecycle·link·control 기반입니다.
유용한 support library
29-50이 section도 대부분의 driver developer가 참고할 support library 문서를 담습니다. Early userspace, connector, device I/O, devfreq, DMA-BUF, component, I/O mapping·ordering, UIO, VFIO와 mediated device 문서를 연결합니다.
.. toctree::
:maxdepth: 1
early-userspace/index
connector
device-io
devfreq
dma-buf
component
io-mapping
io_ordering
uio-howto
vfio-mediated-device
vfio
vfio-pci-device-specific-driver-acceptance
Memory·I/O·userspace·virtualization 지원 문서를 묶었습니다.
Bus-level documentation
51-73Bus-level section은 auxiliary bus, CXL, EISA, FireWire, I3C, ISA, PCI, RapidIO, SlimBus, USB, Virtio, VME, 1-Wire, Xillybus 등의 bus와 interconnect 문서를 연결합니다.
.. toctree::
:maxdepth: 1
auxiliary_bus
cxl/index
eisa
firewire
i3c/index
isa
men-chameleon-bus
pci/index
rapidio/index
slimbus
usb/index
virtio/index
vme
w1
xillybus
Legacy·high-speed·serial·virtual bus를 분류했습니다.
Subsystem-specific API
74-150Subsystem-specific section은 wireless·ACPI에서 storage·media·clock·GPIO·IIO·input·network fabric, firmware, serial, thermal과 platform-specific driver까지 각 subsystem API index를 max depth 1로 연결합니다.
이 목록에는 이 작업에서 이미 번역한 I2C, I3C, IIO, HSI, HTE, GPIO, CXL, firmware, FPGA와 DMA engine 문서도 포함되며 이후 문서는 catalog 순서대로 이어집니다.
.. toctree::
:maxdepth: 1
80211/index
acpi/index
backlight/lp855x-driver.rst
clk
coco/index
console
crypto/index
dmaengine/index
dpll
edac
extcon
firmware/index
fpga/index
frame-buffer
aperture
generic-counter
gpio/index
hsi
hte/index
i2c
iio/index
infiniband
input
interconnect
ipmb
ipmi
libata
mailbox
md/index
media/index
mei/index
memory-devices/index
message-based
misc_devices
miscellaneous
mmc/index
mtd/index
mtdnand
nfc/index
ntb
nvdimm/index
nvmem
parport-lowlevel
phy/index
pin-control
pldmfw/index
pps
ptp
pwm
pwrseq
regulator
reset
rfkill
s390-drivers
scsi
serial/index
sm501
soundwire/index
spi
surface_aggregator/index
switchtec
sync_file
target
tee
thermal/index
tty/index
wbrf
wmi
xilinx/index
zorro
긴 toctree를 기능 영역별로 구조화했습니다.
HTML index
151-156Subproject이면서 HTML output인 경우 `Indices` section이 나타나고 `genindex`를 연결합니다.
.. only:: subproject and html
Indices
=======
* :ref:`genindex`
Sphinx output 조건과 결과입니다.
요약과 해설
index.rst:1-156Driver API 최상위 index는 모든 driver 문서를 공통 lifecycle·support library·bus·subsystem 영역으로 나눕니다. 특정 hardware API를 찾을 때 subsystem 목록으로 바로 이동하기 전에 infrastructure와 driver model 문서를 함께 확인하는 출발점입니다.