free(matches);
}
-static int
-fbsd_fill_info(struct pci_dev *d, int flags)
+static void
+fbsd_fill_info(struct pci_dev *d, unsigned int flags)
{
struct pci_conf_io conf;
struct pci_bar_io bar;
if (ioctl(d->access->fd, PCIOCGETCONF, &conf) < 0)
{
- if (errno == ENODEV)
- return 0;
- d->access->error("fbsd_fill_info: ioctl(PCIOCGETCONF) failed: %s", strerror(errno));
+ if (errno != ENODEV)
+ d->access->error("fbsd_fill_info: ioctl(PCIOCGETCONF) failed: %s", strerror(errno));
+ return;
}
- if (flags & PCI_FILL_IDENT)
+ if (want_fill(d, flags, PCI_FILL_IDENT))
{
d->vendor_id = match.pc_vendor;
d->device_id = match.pc_device;
}
- if (flags & PCI_FILL_CLASS)
- {
- d->device_class = (match.pc_class << 8) | match.pc_subclass;
- }
- if (flags & (PCI_FILL_BASES | PCI_FILL_SIZES))
+ if (want_fill(d, flags, PCI_FILL_CLASS))
+ d->device_class = (match.pc_class << 8) | match.pc_subclass;
+ if (want_fill(d, flags, PCI_FILL_BASES | PCI_FILL_SIZES))
{
d->rom_base_addr = 0;
d->rom_size = 0;
if (ioctl(d->access->fd, PCIOCGETBAR, &bar) < 0)
{
if (errno == ENODEV)
- return 0;
+ return;
if (errno == EINVAL)
{
d->base_addr[i] = 0;
}
}
}
-
- return flags & (PCI_FILL_IDENT | PCI_FILL_CLASS | PCI_FILL_BASES |
- PCI_FILL_SIZES);
}
static int
#if __FreeBSD_version >= 700053 || defined(__DragonFly__)
pi.pi_sel.pc_domain = d->domain;
+#else
+ if (d->domain)
+ return 0;
#endif
pi.pi_sel.pc_bus = d->bus;
pi.pi_sel.pc_dev = d->dev;
#if __FreeBSD_version >= 700053 || defined(__DragonFly__)
pi.pi_sel.pc_domain = d->domain;
+#else
+ if (d->domain)
+ return 0;
#endif
pi.pi_sel.pc_bus = d->bus;
pi.pi_sel.pc_dev = d->dev;