← Documents Documentation/admin-guide/gpio/gpio-mockup.rst GitHub 원문 ↗

Linux 6.18.37 · Administration / GPIO

Linux GPIO testing driver

폐기 예정 gpio-mockup 시험 드라이버의 module parameter와 debugfs 기반 가상 line 조작을 설명합니다.

Source pathDocumentation/admin-guide/gpio/gpio-mockup.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

상태와 chip 생성

gpio-mockup.rst:1-46

새 개발에는 gpio-sim을 권장하며, 기존 gpio-mockup의 range와 named-line parameter 형식을 기록합니다.

debugfs line 조작

gpio-mockup.rst:47-59

chip별 디렉터리와 line offset attribute에서 pull-up 또는 pull-down을 모의하는 방법을 설명합니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 .. SPDX-License-Identifier: GPL-2.0-only
2
3 GPIO Testing Driver
4 ===================
5
6 .. note::
7
8 This module has been obsoleted by the more flexible gpio-sim.rst.
9 New developments should use that API and existing developments are
10 encouraged to migrate as soon as possible.
11 This module will continue to be maintained but no new features will be
12 added.
13
14 The GPIO Testing Driver (gpio-mockup) provides a way to create simulated GPIO
15 chips for testing purposes. The lines exposed by these chips can be accessed
16 using the standard GPIO character device interface as well as manipulated
17 using the dedicated debugfs directory structure.
18
19 Creating simulated chips using module params
20 --------------------------------------------
21
22 When loading the gpio-mockup driver a number of parameters can be passed to the
23 module.
24
25 gpio_mockup_ranges
26
27 This parameter takes an argument in the form of an array of integer
28 pairs. Each pair defines the base GPIO number (non-negative integer)
29 and the first number after the last of this chip. If the base GPIO
30 is -1, the gpiolib will assign it automatically. while the following
31 parameter is the number of lines exposed by the chip.
32
33 Example: gpio_mockup_ranges=-1,8,-1,16,405,409
34
35 The line above creates three chips. The first one will expose 8 lines,
36 the second 16 and the third 4. The base GPIO for the third chip is set
37 to 405 while for two first chips it will be assigned automatically.
38
39 gpio_mockup_named_lines
40
41 This parameter doesn't take any arguments. It lets the driver know that
42 GPIO lines exposed by it should be named.
43
44 The name format is: gpio-mockup-X-Y where X is mockup chip's ID
45 and Y is the line offset.
46
47 Manipulating simulated lines
48 ----------------------------
49
50 Each mockup chip creates its own subdirectory in /sys/kernel/debug/gpio-mockup/.
51 The directory is named after the chip's label. A symlink is also created, named
52 after the chip's name, which points to the label directory.
53
54 Inside each subdirectory, there's a separate attribute for each GPIO line. The
55 name of the attribute represents the line's offset in the chip.
56
57 Reading from a line attribute returns the current value. Writing to it (0 or 1)
58 changes the configuration of the simulated pull-up/pull-down resistor
59 (1 - pull-up, 0 - pull-down).
60

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

GPIO Testing Driver와 폐기 상태

1-18

이 모듈은 더 유연한 `gpio-sim.rst`에 의해 obsolete 상태가 되었습니다. 새 개발은 gpio-sim API를 사용해야 하며 기존 개발도 가능한 빨리 이전하는 것이 권장됩니다. 이 모듈은 계속 유지보수되지만 새 기능은 추가되지 않습니다.

GPIO Testing Driver인 `gpio-mockup`은 시험용 가상 GPIO chip을 만듭니다. 노출된 line은 표준 GPIO character device interface로 접근할 수 있고 전용 debugfs 디렉터리 구조로 조작할 수 있습니다.

module parameter로 가상 chip 만들기

19-46

`gpio-mockup` 드라이버를 로드할 때 다음 module parameter를 전달할 수 있습니다.

parameter설명
gpio_mockup_ranges정수 쌍의 배열입니다. 각 쌍은 0 이상의 base GPIO 번호와 해당 chip의 마지막 번호 다음 값을 정의합니다. base가 -1이면 gpiolib이 자동 할당하고 뒤 값은 chip이 노출할 line 수입니다.
gpio_mockup_named_lines인자를 받지 않습니다. 드라이버가 노출하는 GPIO line에 이름을 붙이도록 합니다. 이름 형식은 `gpio-mockup-X-Y`이며 X는 mockup chip ID, Y는 line offset입니다.
gpio_mockup_ranges=-1,8,-1,16,405,409

이 예는 chip 세 개를 만듭니다. 첫 번째는 8개, 두 번째는 16개, 세 번째는 4개 line을 노출합니다. 세 번째 chip의 base GPIO는 405이고 앞의 두 chip은 자동 할당됩니다.

가상 line 조작

47-59

각 mockup chip은 `/sys/kernel/debug/gpio-mockup/` 아래에 chip label 이름의 하위 디렉터리를 만듭니다. chip name으로 된 symbolic link도 만들어 label 디렉터리를 가리킵니다.

각 하위 디렉터리에는 GPIO line마다 별도 attribute가 있고 이름은 chip 안의 line offset입니다. 읽으면 현재 값을 반환하고 0 또는 1을 쓰면 가상 pull resistor 구성을 바꿉니다. 1은 pull-up, 0은 pull-down입니다.