USB 장치 드라이버가로드되고 장치가 플러그 인되는 경우 커널의 어느 부분이 struct 장치를 만들고 등록합니까?Linux 2.6 장치 드라이버 모델에서 struct device 생성의 시작점은 무엇입니까?
1
A
답변
1
드라이버가로드되면 시스템은 module_init에서 할당 한 함수를 호출합니다. 거기에는 usb_register (struct usb_driver skel_driver)를 호출 할 것입니다. 여기서 skel_driver는 probe 메소드와 같이 장치를 서비스하는 메소드에 대한 포인터가있는 struct입니다.
프로브 방법은 새로운 usb 장치가 시스템에 도입 될 때 호출되는 방법입니다. 이 장소에서 구조체 (usb_skel)를 장래에 필요로하는 것으로 채울 수 있고, 장치가 도입되었을 때 char 장치 등을 초기화 할 수 있습니다.
시스템은 대부분 자체적으로 아무것도 만들지 않으며, 대부분의 구조체를 준비하고 장치 특정 데이터로 채워야합니다.
참고로 usb-skeleton in lxr을 참조하고 writing usb drivers from LDD과 함께 사용하는 방법을 배우십시오.
건배
관련 문제
- 1. 맞춤형 PCIe 핫 플러그 Linux 2.6.x 드라이버 작성
- 2. fseek char linux device
- 3. 리눅스 장치 드라이버 프로그래밍에서 struct inode와 struct 파일을 사용하여 데이터를 전달하는 이유
- 4. 장치 드라이버 대 드라이버 스택
- 5. Linux 장치 드라이버 - 내 device_read()에 문제가 있습니까?
- 6. 여러 장치 드라이버? (KMDF/WDF)
- 7. Windows 장치 드라이버 스니핑/디버깅
- 8. 여러 인터럽트 소스/벡터를 처리하는 Linux 장치 드라이버
- 9. mpc8xxx_gpio.c 장치 드라이버 사용 방법
- 10. 장치 드라이버 개발
- 11. 키보드 장치 드라이버 작성
- 12. 장치 드라이버 및 Windows
- 13. 이더넷 스위치 장치 드라이버
- 14. Android : 애니메이션의 시작점은 무엇입니까?
- 15. Linux Uart 드라이버 수정
- 16. Linux 드라이버 phys_mem_access_prot undefined
- 17. I2C 장치 드라이버 작성시 프로브 문제
- 18. struct reg와 struct user_regs_struc 사이의 차이점은 무엇입니까?
- 19. 소켓 코드와 Linux PCI 드라이버 인터페이스
- 20. Linux에서 장치 드라이버 충돌을 시뮬레이트합니다. 파이썬을 다시로드하십시오
- 21. USB 장치 용 다중 드라이버
- 22. Linux에 USB 장치 드라이버 작성
- 23. linux에서 GUI 프로그램의 시작점은 무엇입니까?
- 24. struct proc_dir_entry의 owner 필드는 어디에 있습니까? [Linux 커널]
- 25. Linux USB 장치 드라이버가 프로브되지 않음
- 26. DEV_BROADCAST_DEVICEINTERFACE 및 Device Instance ID에서 친숙한 장치 이름을 얻는 방법
- 27. 장치 드라이버 IRQL 및 스레드/컨텍스트 스위치
- 28. 임베디드 장치 용 USB - 장치 드라이버/프로토콜 스택 설계
- 29. Linux 커널의 USB 장치 및 HDD 장치 용 드라이브 문자
- 30. struct sockaddr에서 struct addrinfo를 생성하는 방법은 무엇입니까?