2010-05-05 5 views
1

저는 리눅스 커널 모듈을 이식하고 있습니다. 그것은 (kernelspace에서 syscalls와 더러운 해킹을 사용하여) 자체에 대한 장치 파일을 만드는 데 사용했지만 지금은 udev에서 이것을하고 싶습니다. 커널 모듈에서 udev를 지원하는 문서는 어디에서 찾을 수 있습니까?커널 모듈에서 udev를 지원하는 방법은 무엇입니까?

모듈 자체는 장치 드라이버가 아닙니다. 이것은 일련의 드라이버에 대한 멀티플렉서 역할을합니다. 따라서 기기 (예 : pci)를 등록하는 기본 방법은 내 작업에 적합하지 않습니다.

답변

2

device_create 기능을 사용하면 "가상"버스에 장치를 등록하고 sysfs의 문자 장치에 대한 주요 번호와 부 번호를 자동으로 게시 할 수있었습니다.

1

귀하의 모듈이 각기 드라이버를로드해야하는 장치를 열거한다는 것을 의미합니까?

그렇다면 모듈은 버스 드라이버로 가장 잘 표현됩니다. Documentation/driver-model/*의 bus_register() 정보, 특히 bus.txt를 참조하십시오. 사용 예를 보려면 다른 커널 코드 (PCI, USB, ACPI)를 살펴보십시오.

드라이버 모델 API를 사용하면 버스 드라이버와 모든 연결된 장치가 udev를 통해 자동으로 처리됩니다.