← Documents Documentation/ABI/testing/sysfs-bus-amba GitHub 원문 ↗

Linux 6.18.37 · ABI / testing

AMBA driver override sysfs ABI

AMBA device가 standard OF·ACPI·ID table·name matching 대신 특정 loaded driver만 binding candidate로 허용하거나 binding을 opt out하는 driver_override ABI를 설명합니다.

Source pathDocumentation/ABI/testing/sysfs-bus-amba
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

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

1. 요약·해설

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

AMBA driver binding override

sysfs-bus-amba:1-20

driver_override는 단일 driver name을 지정해 standard matching을 대체하며, empty string으로 해제합니다. 설정 자체는 current driver unbind나 target driver load를 수행하지 않습니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 What: /sys/bus/amba/devices/.../driver_override
2 Date: September 2014
3 Contact: Antonios Motakis <[email protected]>
4 Description:
5 This file allows the driver for a device to be specified which
6 will override standard OF, ACPI, ID table, and name matching.
7 When specified, only a driver with a name matching the value
8 written to driver_override will have an opportunity to bind to
9 the device. The override is specified by writing a string to the
10 driver_override file (echo vfio-amba > driver_override) and may
11 be cleared with an empty string (echo > driver_override).
12 This returns the device to standard matching rules binding.
13 Writing to driver_override does not automatically unbind the
14 device from its current driver or make any attempt to
15 automatically load the specified driver. If no driver with a
16 matching name is currently loaded in the kernel, the device will
17 not bind to any driver. This also allows devices to opt-out of
18 driver binding using a driver_override name such as "none".
19 Only a single driver may be specified in the override, there is
20 no support for parsing delimiters.
21

3. 한국어 전문 번역

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

AMBA device driver_override

1-20
항목전문 번역
What/sys/bus/amba/devices/.../driver_override
Date2014년 9월
ContactAntonios Motakis <[email protected]>
Description이 file을 사용하면 device용 driver를 지정하여 standard OF, ACPI, ID table과 name matching을 override할 수 있습니다.

Override를 지정하면 driver_override에 쓴 값과 name이 일치하는 driver만 해당 device에 bind할 기회를 얻습니다. driver_override file에 string을 써서 override를 지정하며, empty string으로 clear할 수 있습니다. Clear하면 device는 standard matching rules에 따른 binding으로 돌아갑니다.

echo vfio-amba > driver_override
echo > driver_override

driver_override에 쓴다고 device가 current driver에서 자동으로 unbind되지는 않으며, 지정한 driver를 자동으로 load하려는 시도도 하지 않습니다. Name이 일치하는 driver가 현재 kernel에 load되어 있지 않으면 device는 어떤 driver에도 bind되지 않습니다.

따라서 "none" 같은 driver_override name을 사용해 device가 driver binding을 opt out하게 할 수도 있습니다. Override에는 driver 하나만 지정할 수 있으며 delimiter parsing은 지원하지 않습니다.

AMBA driver_override binding decision
Empty driver_overrideOF, ACPI, ID table and name matchingStandard driver binding
driver_override=driver_nameOnly matching loaded driver is eligibleBind when available
Matching driver not loadedNo automatic loadDevice remains unbound
driver_override=noneNo matching driverOpt out of binding
Write override on bound deviceCurrent driver remains boundExplicit unbind still required

Override가 비어 있을 때의 standard matching과 특정 name 또는 none을 썼을 때의 binding 후보를 구분한다.