컴퓨터 지식 네트워크 - 컴퓨터 구성 - Linux에서 플랫폼 장치 및 드라이버 등록 순서

Linux에서 플랫폼 장치 및 드라이버 등록 순서

버스, 장치 및 드라이버에 대한 Linux의 등록 순서

장치가 버스에 연결되면 버스의 모든 드라이버와 일치합니다(일치하려면bus_type.match 사용).

일치에 성공하면 bus_type.probe 또는 drivers.probe를 호출하여 장치를 초기화하고 버스에 연결하세요.

일치에 실패하면 장치를 버스에 연결하기만 하면 됩니다. .

드라이버가 버스에 연결되면 버스의 모든 장치와 일치합니다(일치하려면bus_type.match 사용).

일치에 성공하면bus_type.probe 또는 드라이버. .probe는 장치를 초기화하고 버스에 연결합니다.

일치에 실패하면 드라이버가 버스에 연결됩니다.

집중해야 할 것은 버스 매칭 함수 match()와 드라이버 초기화 함수 프로브()입니다.

1. platform_bus_type--버스는 kenrel에 의해 먼저 등록됩니다.

2. 시스템 초기화 프로세스 중에 platform_add_devices 또는 platform_device_register를 호출하여 플랫폼 장치(플랫폼 장치)를 플랫폼 버스(platform_bus_type)에 등록합니다.

3. 그리고 platform 장치(플랫폼 장치)의 연결은 platform_driver_register 또는 Driver_register에서 구현됩니다. 일반적으로 이 함수는 드라이버 초기화 과정에서 호출됩니다.

이 세 단계를 통해 플랫폼 버스, 장치 및 드라이버가 연결됩니다.

1. 플랫폼 버스는 kenrel에 의해 먼저 등록됩니다.

------------------------------- -- -----------

do_basic_setup() -->-driver_init() -->-platform_bus_init()-->bus_register()

2. 시스템 초기화 프로세스 중에 platform_add_devices 또는 platform_device_register를 호출하여 플랫폼 장치(플랫폼 장치)를 플랫폼 버스(platform_bus_type)에 등록합니다.

--------------- ---- ---------------------

시스템 시작 단계에서 , 버스 드라이버 목록은 아직 비어 있으므로 시작 단계의 platform_add_devices()는 버스의 장치 목록에 장치를 추가하는 역할만 담당합니다.

上篇: vivox7에서 사진을 백업하는 방법 下篇: USB 로 핸드폰에서 노래하는 법, USB 로 핸드폰에서 노래하는 법.
관련 내용