대부분의 그런 것들은 argument들이 정해져 있습니다.
정해져있는 (struct pci_dev * pdev, struct pci_dev_id * ent)의
형태대로 함수가 정의하도록 하는거죠..
pci_driver란 구조체중에 probe:부분에서
*function(struct pci_driver * pdev, struct pci_dev_id * ent)
라고 정의되어 있지 않을까여
: static struct pci_driver abc_driver = {
: name: "abc",
: id_table: abc_pci_tbl,
: probe: abc_init_one,
: remove: abc_remove_one,
: };
:
: 위와 같은 C 언어 구조가 있습니다.
:
: 그런데 abc_init_one 은 함수이고 인자도 있어야 하더군요....
: abc_init_one(struct pci_dev * pdev, struct pci_dev_id * ent)
: 이렇게 선언이 되어있던데....이 내부의 인자들은 어디서 가지고 오는걸까요???
: abc_driver 라는 것이 수행이 되면 위의것들이 함수들을 찾아서 수행하는건지....
: 어떻게 돌아가는건지좀 알려주세요....
: 그럼..
:
: --
: Welcome To Linux World~~~!!!