Lines Matching refs:a
38 fbsd_config(struct pci_access *a) in fbsd_config() argument
40 pci_define_param(a, "fbsd.path", PCI_PATH_FBSD_DEVICE, "Path to the FreeBSD PCI device"); in fbsd_config()
44 fbsd_detect(struct pci_access *a) in fbsd_detect() argument
46 char *name = pci_get_param(a, "fbsd.path"); in fbsd_detect()
50 a->warning("Cannot open %s", name); in fbsd_detect()
53 a->debug("...using %s", name); in fbsd_detect()
58 fbsd_init(struct pci_access *a) in fbsd_init() argument
60 char *name = pci_get_param(a, "fbsd.path"); in fbsd_init()
63 a->fd = -1; in fbsd_init()
64 a->fd_rw = -1; in fbsd_init()
76 a->error("fbsd_init: %s open failed", name); in fbsd_init()
79 a->debug("fbsd_init: Fallback to read-only opened %s", name); in fbsd_init()
80 a->fd = fd; in fbsd_init()
84 a->fd_rw = fd; in fbsd_init()
88 fbsd_cleanup(struct pci_access *a) in fbsd_cleanup() argument
90 if (a->fd >= 0) in fbsd_cleanup()
92 close(a->fd); in fbsd_cleanup()
93 a->fd = -1; in fbsd_cleanup()
95 if (a->fd_rw >= 0) in fbsd_cleanup()
97 close(a->fd_rw); in fbsd_cleanup()
98 a->fd_rw = -1; in fbsd_cleanup()
103 fbsd_scan(struct pci_access *a) in fbsd_scan() argument
114 a->error("calloc: %s", strerror(errno)); in fbsd_scan()
129 if (ioctl(a->fd_rw >= 0 ? a->fd_rw : a->fd, PCIOCGETCONF, &conf) < 0) in fbsd_scan()
133 a->error("fbsd_scan: ioctl(PCIOCGETCONF) failed: %s", in fbsd_scan()
140 a->error("fbsd_scan: ioctl(PCIOCGETCONF) failed"); in fbsd_scan()
145 t = pci_alloc_dev(a); in fbsd_scan()
155 pci_link_dev(a, t); in fbsd_scan()