2013-08-24 4 views

답변

0

pci_enable_device_mem - 메모리 공간을 사용 https://www.kernel.org/doc/htmldocs/kernel-api/API-pci-enable-device-mem.html

pci_enable_device을 장치를 초기화 -이 드라이버가 사용되기 전에 장치를 초기화합니다. https://www.kernel.org/doc/htmldocs/kernel-api/API-pci-enable-device.html

첫번째는 메모리 공간으로 사용할 수 있도록 장치를 초기화한다. 두 번째 장치는 드라이버가 사용하기 전에 장치를 초기화합니다.

1

글쎄, 두 함수는 내부적으로 pci_enable_device_flags()를 호출합니다. 차이점은 pci_enable_device_mem() 변형은 메모리 매핑 BAR 만 초기화하는 반면 pci_enable_device()는 메모리 매핑 및 IO BAR 모두를 초기화한다는 점입니다.

PCI 장치에 IO 공간이 없으면 (대부분 실제로이 경우) pci_enable_device_mem()을 쉽게 사용할 수 있습니다.

int pci_enable_device_mem(struct pci_dev *dev) 
{ 
    return pci_enable_device_flags(dev, IORESOURCE_MEM); 
} 

int pci_enable_device(struct pci_dev *dev) 
{ 
    return pci_enable_device_flags(dev, IORESOURCE_MEM | IORESOURCE_IO); 
} 
:

드라이버/PCI/pci.c에서 코드입니다