요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
===================
The ALSA Driver API
===================
Management of Cards and Devices
===============================
Card Management
---------------
.. kernel-doc:: sound/core/init.c
Device Components
-----------------
.. kernel-doc:: sound/core/device.c
Module requests and Device File Entries
---------------------------------------
.. kernel-doc:: sound/core/sound.c
Memory Management Helpers
-------------------------
.. kernel-doc:: sound/core/memory.c
.. kernel-doc:: sound/core/memalloc.c
PCM API
=======
PCM Core
--------
.. kernel-doc:: sound/core/pcm.c
.. kernel-doc:: sound/core/pcm_lib.c
.. kernel-doc:: sound/core/pcm_native.c
.. kernel-doc:: include/sound/pcm.h
PCM Format Helpers
------------------
.. kernel-doc:: sound/core/pcm_misc.c
PCM Memory Management
---------------------
.. kernel-doc:: sound/core/pcm_memory.c
PCM DMA Engine API
------------------
.. kernel-doc:: sound/core/pcm_dmaengine.c
.. kernel-doc:: include/sound/dmaengine_pcm.h
Control/Mixer API
=================
General Control Interface
-------------------------
.. kernel-doc:: sound/core/control.c
AC97 Codec API
--------------
.. kernel-doc:: sound/pci/ac97/ac97_codec.c
.. kernel-doc:: sound/pci/ac97/ac97_pcm.c
Virtual Master Control API
--------------------------
.. kernel-doc:: sound/core/vmaster.c
.. kernel-doc:: include/sound/control.h
MIDI API
========
Raw MIDI API
------------
.. kernel-doc:: sound/core/rawmidi.c
MPU401-UART API
---------------
.. kernel-doc:: sound/drivers/mpu401/mpu401_uart.c
Proc Info API
=============
Proc Info Interface
-------------------
.. kernel-doc:: sound/core/info.c
Compress Offload
================
Compress Offload API
--------------------
.. kernel-doc:: sound/core/compress_offload.c
.. kernel-doc:: include/uapi/sound/compress_offload.h
.. kernel-doc:: include/uapi/sound/compress_params.h
.. kernel-doc:: include/sound/compress_driver.h
ASoC
====
ASoC Core API
-------------
.. kernel-doc:: include/sound/soc.h
.. kernel-doc:: sound/soc/soc-core.c
.. kernel-doc:: sound/soc/soc-devres.c
.. kernel-doc:: sound/soc/soc-component.c
.. kernel-doc:: sound/soc/soc-pcm.c
.. kernel-doc:: sound/soc/soc-ops.c
.. kernel-doc:: sound/soc/soc-compress.c
ASoC DAPM API
-------------
.. kernel-doc:: sound/soc/soc-dapm.c
ASoC DMA Engine API
-------------------
.. kernel-doc:: sound/soc/soc-generic-dmaengine-pcm.c
Miscellaneous Functions
=======================
Hardware-Dependent Devices API
------------------------------
.. kernel-doc:: sound/core/hwdep.c
Jack Abstraction Layer API
--------------------------
.. kernel-doc:: include/sound/jack.h
.. kernel-doc:: sound/core/jack.c
.. kernel-doc:: sound/soc/soc-jack.c
ISA DMA Helpers
---------------
.. kernel-doc:: sound/core/isadma.c
Other Helper Macros
-------------------
.. kernel-doc:: include/sound/core.h
.. kernel-doc:: sound/sound_core.c
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
Card와 device 관리
1-24`The ALSA Driver API`의 첫 부분은 card와 device 관리를 다룹니다. Card 관리, device component, module 요청과 device file entry, memory management helper의 kernel-doc를 source file에서 가져옵니다.
각 영문 subsection을 한국어 기능과 원래 source path에 대응시켰습니다.
===================
The ALSA Driver API
===================
Management of Cards and Devices
===============================
Card Management
---------------
.. kernel-doc:: sound/core/init.c
Device Components
-----------------
.. kernel-doc:: sound/core/device.c
Module requests and Device File Entries
---------------------------------------
.. kernel-doc:: sound/core/sound.c
Memory Management Helpers
-------------------------
.. kernel-doc:: sound/core/memory.c
.. kernel-doc:: sound/core/memalloc.c
PCM API
25-48PCM API 절은 PCM core, format helper, PCM memory management, DMA engine API를 묶습니다. PCM stream의 생성과 native interface부터 sample format, buffer, DMA engine 연동까지 필요한 구현 문서를 제공합니다.
PCM 기능군의 8개 source path를 모두 보존했습니다.
PCM API
=======
PCM Core
--------
.. kernel-doc:: sound/core/pcm.c
.. kernel-doc:: sound/core/pcm_lib.c
.. kernel-doc:: sound/core/pcm_native.c
.. kernel-doc:: include/sound/pcm.h
PCM Format Helpers
------------------
.. kernel-doc:: sound/core/pcm_misc.c
PCM Memory Management
---------------------
.. kernel-doc:: sound/core/pcm_memory.c
PCM DMA Engine API
------------------
.. kernel-doc:: sound/core/pcm_dmaengine.c
.. kernel-doc:: include/sound/dmaengine_pcm.h
Control과 mixer API
49-65Control/Mixer API 절은 일반 control interface, AC97 codec, virtual master control을 설명합니다. Mixer element 생성, AC97 PCM routing, 여러 control을 묶는 virtual master 기능이 포함됩니다.
Control 계층의 source와 header를 subsection별로 정리했습니다.
Control/Mixer API
=================
General Control Interface
-------------------------
.. kernel-doc:: sound/core/control.c
AC97 Codec API
--------------
.. kernel-doc:: sound/pci/ac97/ac97_codec.c
.. kernel-doc:: sound/pci/ac97/ac97_pcm.c
Virtual Master Control API
--------------------------
.. kernel-doc:: sound/core/vmaster.c
.. kernel-doc:: include/sound/control.h
MIDI API
66-76MIDI API는 raw MIDI core와 MPU401-UART helper 두 부분으로 구성됩니다. Raw byte stream interface와 널리 쓰이는 MPU-401 UART hardware 연동을 각각 문서화합니다.
두 MIDI subsection의 kernel-doc 위치입니다.
MIDI API
========
Raw MIDI API
------------
.. kernel-doc:: sound/core/rawmidi.c
MPU401-UART API
---------------
.. kernel-doc:: sound/drivers/mpu401/mpu401_uart.c
Proc info API
77-83Proc Info API는 ALSA가 `/proc/asound` 계층에 debugging 및 상태 정보를 제공하는 interface를 설명합니다.
Proc entry 생성과 text/binary 정보 출력 API의 source입니다.
Proc Info API
=============
Proc Info Interface
-------------------
.. kernel-doc:: sound/core/info.c
Compressed audio offload
84-93Compress Offload 절은 compressed audio stream을 DSP나 codec에 offload하는 API를 연결합니다. Core 구현, userspace ABI, codec parameter ABI, driver interface를 함께 참조합니다.
Kernel 구현과 UAPI/header 경계를 구분했습니다.
Compress Offload
================
Compress Offload API
--------------------
.. kernel-doc:: sound/core/compress_offload.c
.. kernel-doc:: include/uapi/sound/compress_offload.h
.. kernel-doc:: include/uapi/sound/compress_params.h
.. kernel-doc:: include/sound/compress_driver.h
ASoC API
94-114ASoC 절은 System on Chip audio core, resource-managed helper, component, PCM, operation, compressed stream, DAPM, generic DMAengine PCM API를 연결합니다.
ASoC의 9개 public 및 implementation source를 모두 보존했습니다.
ASoC
====
ASoC Core API
-------------
.. kernel-doc:: include/sound/soc.h
.. kernel-doc:: sound/soc/soc-core.c
.. kernel-doc:: sound/soc/soc-devres.c
.. kernel-doc:: sound/soc/soc-component.c
.. kernel-doc:: sound/soc/soc-pcm.c
.. kernel-doc:: sound/soc/soc-ops.c
.. kernel-doc:: sound/soc/soc-compress.c
ASoC DAPM API
-------------
.. kernel-doc:: sound/soc/soc-dapm.c
ASoC DMA Engine API
-------------------
.. kernel-doc:: sound/soc/soc-generic-dmaengine-pcm.c
기타 helper API
115-135마지막 절은 hardware-dependent device, jack abstraction, ISA DMA, 기타 core helper macro를 문서화합니다.
Miscellaneous Functions 아래 7개 source path입니다.
Card 생성에서 stream과 hardware helper까지 API 장의 흐름입니다.
Miscellaneous Functions
=======================
Hardware-Dependent Devices API
------------------------------
.. kernel-doc:: sound/core/hwdep.c
Jack Abstraction Layer API
--------------------------
.. kernel-doc:: include/sound/jack.h
.. kernel-doc:: sound/core/jack.c
.. kernel-doc:: sound/soc/soc-jack.c
ISA DMA Helpers
---------------
.. kernel-doc:: sound/core/isadma.c
Other Helper Macros
-------------------
.. kernel-doc:: include/sound/core.h
.. kernel-doc:: sound/sound_core.c
요약·해설
alsa-driver-api.rst:1-135ALSA card·device, PCM, mixer, MIDI, proc, compressed offload, ASoC, hwdep, jack 및 DMA API를 41개 kernel-doc source와 연결합니다.
이 페이지는 별도 API 본문을 중복 작성하지 않고 각 C source와 header의 kernel-doc를 하나의 기능별 reference로 조립합니다.