Documentation/driver-api/miscellaneous.rst GitHub 원문 ↗

Linux 6.18.37 · Driver API

Miscellaneous driver APIs

Parallel port, 16x50 UART와 PWM framework API를 연결하고 설명하는 전문 번역입니다.

Source pathDocumentation/driver-api/miscellaneous.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설, 영어 원문, 전체 번역을 구분해 실었습니다. API 이름, 코드 심벌, 소스 경로는 원문 표기를 유지합니다.

1. 요약·해설

원문의 핵심 내용을 정리하고 커널 프로그래밍에 필요한 설명을 덧붙였습니다. 아래의 전체 번역과는 별도로 작성한 해설입니다.

요약과 해설

miscellaneous.rst:1-48

Parallel port와 UART kernel-doc, PWM provider·consumer의 배타적 signal 제어 model을 한 문서에서 제공합니다.

문서 구성
원문 줄내용
1-15Parallel port API
16-2316x50 UART API
24-48PWM framework

2. 영어 원문 전체

번역에 사용한 Linux v6.18.37 원문입니다. 줄 번호는 해당 버전의 소스 파일을 기준으로 합니다.

원문 전체 펼치기
1 Parallel Port Devices
2 =====================
3
4 .. kernel-doc:: include/linux/parport.h
5 :internal:
6
7 .. kernel-doc:: drivers/parport/ieee1284.c
8 :export:
9
10 .. kernel-doc:: drivers/parport/share.c
11 :export:
12
13 .. kernel-doc:: drivers/parport/daisy.c
14 :internal:
15
16 16x50 UART Driver
17 =================
18
19 .. kernel-doc:: drivers/tty/serial/8250/8250_core.c
20 :export:
21
22 See serial/driver.rst for related APIs.
23
24 Pulse-Width Modulation (PWM)
25 ============================
26
27 Pulse-width modulation is a modulation technique primarily used to
28 control power supplied to electrical devices.
29
30 The PWM framework provides an abstraction for providers and consumers of
31 PWM signals. A controller that provides one or more PWM signals is
32 registered as :c:type:`struct pwm_chip <pwm_chip>`. Providers
33 are expected to embed this structure in a driver-specific structure.
34 This structure contains fields that describe a particular chip.
35
36 A chip exposes one or more PWM signal sources, each of which exposed as
37 a :c:type:`struct pwm_device <pwm_device>`. Operations can be
38 performed on PWM devices to control the period, duty cycle, polarity and
39 active state of the signal.
40
41 Note that PWM devices are exclusive resources: they can always only be
42 used by one consumer at a time.
43
44 .. kernel-doc:: include/linux/pwm.h
45 :internal:
46
47 .. kernel-doc:: drivers/pwm/core.c
48 :export:
49

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미에 맞춰 전체 내용을 번역했습니다. 코드, 함수명, 코드 심벌, URL은 원문 표기를 유지합니다.

Parallel port device API

1-15

Parallel port 내부 API는 `include/linux/parport.h`에서, IEEE 1284 protocol의 exported API는 `drivers/parport/ieee1284.c`에서 제공합니다.

공유 port 지원의 exported API는 `drivers/parport/share.c`, daisy-chain 내부 API는 `drivers/parport/daisy.c`에서 가져옵니다.

Parallel port API source
Source path범위
`include/linux/parport.h`Internal parport API
`drivers/parport/ieee1284.c`IEEE 1284 exported API
`drivers/parport/share.c`Port sharing exported API
`drivers/parport/daisy.c`Daisy-chain internal API

Parallel Port Devices
=====================

.. kernel-doc:: include/linux/parport.h
   :internal:

.. kernel-doc:: drivers/parport/ieee1284.c
   :export:

.. kernel-doc:: drivers/parport/share.c
   :export:

.. kernel-doc:: drivers/parport/daisy.c
   :internal:

16x50 UART driver API

16-23

16x50 UART의 exported core API는 `drivers/tty/serial/8250/8250_core.c`의 kernel-doc에서 제공합니다.

관련 serial API는 `serial/driver.rst`를 참고합니다.

UART API source
Source path내용
`drivers/tty/serial/8250/8250_core.c`16x50 UART exported API
`serial/driver.rst`관련 serial driver API

16x50 UART Driver
=================

.. kernel-doc:: drivers/tty/serial/8250/8250_core.c
   :export:

See serial/driver.rst for related APIs.

Pulse-Width Modulation framework

24-48

Pulse-width modulation은 주로 electrical device에 공급하는 power를 제어하는 modulation 기술입니다.

PWM framework는 PWM signal provider와 consumer를 추상화합니다. 하나 이상의 PWM signal을 제공하는 controller는 `pwm_chip`으로 등록하며 provider는 이를 driver 전용 구조체 안에 포함해야 합니다.

하나의 chip은 하나 이상의 PWM signal source를 노출하고 각 source는 `pwm_device`로 표현됩니다. Operation으로 signal period, duty cycle, polarity와 active state를 제어할 수 있습니다.

PWM device는 배타적 resource이므로 한 시점에는 consumer 하나만 사용할 수 있습니다.

내부 API는 `include/linux/pwm.h`, exported core API는 `drivers/pwm/core.c`의 kernel-doc에서 제공합니다.

PWM provider와 consumer
PWM controller driver`pwm_chip`하나 이상의 `pwm_device`
단일 consumerPeriod·duty cycle·polarity·active state

Controller가 chip과 개별 signal device를 제공하고 한 consumer가 배타적으로 제어합니다.

Pulse-Width Modulation (PWM)
============================

Pulse-width modulation is a modulation technique primarily used to
control power supplied to electrical devices.

The PWM framework provides an abstraction for providers and consumers of
PWM signals. A controller that provides one or more PWM signals is
registered as :c:type:`struct pwm_chip <pwm_chip>`. Providers
are expected to embed this structure in a driver-specific structure.
This structure contains fields that describe a particular chip.

A chip exposes one or more PWM signal sources, each of which exposed as
a :c:type:`struct pwm_device <pwm_device>`. Operations can be
performed on PWM devices to control the period, duty cycle, polarity and
active state of the signal.

Note that PWM devices are exclusive resources: they can always only be
used by one consumer at a time.

.. kernel-doc:: include/linux/pwm.h
   :internal:

.. kernel-doc:: drivers/pwm/core.c
   :export: