X-Git-Url: http://rtime.felk.cvut.cz/gitweb/lincan.git/blobdiff_plain/422c9bdbad34a21948dd32297d306fe5872c09fd..3367930de7bb1e08bed6463ff3ed66f242bf8fc0:/lincan/src/sysdep_lnx.c diff --git a/lincan/src/sysdep_lnx.c b/lincan/src/sysdep_lnx.c index 2220890..1033a5f 100644 --- a/lincan/src/sysdep_lnx.c +++ b/lincan/src/sysdep_lnx.c @@ -214,6 +214,37 @@ void can_release_mem_region(unsigned long start, unsigned long n) #endif } +#ifdef CAN_ENABLE_PCI_SUPPORT + +struct pci_dev *can_pci_get_next_untaken_device(unsigned int vendor, unsigned int device) +{ + struct pci_dev *pcidev = NULL; + + do { + pcidev = can_pci_get_device(vendor, device, pcidev); + if(pcidev == NULL) + return NULL; + } while(can_check_dev_taken(pcidev)); + + return pcidev; +} + +struct pci_dev *can_pci_get_next_untaken_subsyst(unsigned int vendor, unsigned int device, + unsigned int ss_vendor, unsigned int ss_device) +{ + struct pci_dev *pcidev = NULL; + + do { + pcidev = can_pci_get_subsys(vendor, device, ss_vendor, ss_device, pcidev); + if(pcidev == NULL) + return NULL; + } while(can_check_dev_taken(pcidev)); + + return pcidev; +} + +#endif /*CAN_ENABLE_PCI_SUPPORT*/ + #ifndef CAN_WITH_RTL /**