그래요노력하다USB가 연결되어 있을 때 가로채는 방법에 대해 자세히 알아보고 USB를 연결하고 사용하는 환경을 완전히 사용자 정의할 수 있습니다.아무 일도 일어나지 않고. 즉, USB 장치는 특정 드라이버의 특정 기능이나 그와 유사한 것을 호출할 필요가 없습니다. 이 프로세스를 수동으로 호출하고 다른 방법으로 방지하고 싶습니다.
다음 글을 읽었는데 많은 도움이 되었습니다.
내용은 다음과 같습니다:
usb_driver
USB 드라이버는 USB 드라이버를 식별하는 일부 함수 콜백과 변수를 포함하는 구조로 표시됩니다. 모듈이 프로그래밍 방식으로 로드되면insmod
드라이버__init usb_ml_init(void)
를 USB 하위 시스템에 등록하는 기능이 실행됩니다. 모듈이 제거되면__exit usb_ml_exit(void)
USB 하위 시스템에서 드라이버 등록을 취소하라는 호출이 이루어집니다. 태그__init
는__exit
이러한 함수가 초기화 및 종료 시에만 호출된다는 것을 나타냅니다. 모듈이 로드되면 프로브 및 연결 끊기 함수 콜백이 설정됩니다. 장치가 연결될 때 호출되는 프로브 함수 콜백에서 드라이버는 USB 장치를 관리하는 데 사용되는 모든 로컬 데이터 구조를 초기화합니다. 예를 들어 연결된 장치에 대한 런타임 상태 정보가 포함된 struct usb_ml에 메모리를 할당합니다.
probe
Linux 커널이 연결된 모든 USB 장치를 자동으로 호출하는 것 같습니다 . 기본적으로 probe
다른 모든 잠재적인 드라이버 기능이 호출되는 것을 방지하여 호출되는 유일한 기능이 내 드라이버인 것을 방지하는 방법이 궁금합니다 . 그런 다음 내 드라이버는 거기에서 다른 드라이버 중 하나를 수동으로 선택하고 해당 드라이버와 모든 것을 설치할 수 있습니다.
내 드라이버를 제외한 모든 드라이버에서 프로브가 호출되는 것을 방지하는 방법이나 다른 방법으로 이를 달성하는 방법을 Linux 소스 코드의 어디에서 찾을 수 있습니까?