]> mj.ucw.cz Git - pciutils.git/blobdiff - lib/access.c
Merge with git+ssh://git.ucw.cz/home/mj/GIT/pciutils.git
[pciutils.git] / lib / access.c
index 55060b5dd79f6c0e0ec6d1fdf6d11cde1e927dc0..d4999d6d4184dd61b015f447ef91891d4204c9f9 100644 (file)
 
 static struct pci_methods *pci_methods[PCI_ACCESS_MAX] = {
   NULL,
-#ifdef HAVE_PM_LINUX_SYSFS
+#ifdef PCI_HAVE_PM_LINUX_SYSFS
   &pm_linux_sysfs,
 #else
   NULL,
 #endif
-#ifdef HAVE_PM_LINUX_PROC
+#ifdef PCI_HAVE_PM_LINUX_PROC
   &pm_linux_proc,
 #else
   NULL,
 #endif
-#ifdef HAVE_PM_INTEL_CONF
+#ifdef PCI_HAVE_PM_INTEL_CONF
   &pm_intel_conf1,
   &pm_intel_conf2,
 #else
   NULL,
   NULL,
 #endif
-#ifdef HAVE_PM_FBSD_DEVICE
+#ifdef PCI_HAVE_PM_FBSD_DEVICE
   &pm_fbsd_device,
 #else
   NULL,
 #endif
-#ifdef HAVE_PM_AIX_DEVICE
+#ifdef PCI_HAVE_PM_AIX_DEVICE
   &pm_aix_device,
 #else
   NULL,
 #endif
-#ifdef HAVE_PM_NBSD_LIBPCI
+#ifdef PCI_HAVE_PM_NBSD_LIBPCI
   &pm_nbsd_libpci,
 #else
   NULL,
 #endif
-#ifdef HAVE_PM_DUMP
+#ifdef PCI_HAVE_PM_OBSD_DEVICE
+  &pm_obsd_device,
+#else
+  NULL,
+#endif
+#ifdef PCI_HAVE_PM_DUMP
   &pm_dump,
 #else
   NULL,
@@ -60,8 +65,8 @@ pci_alloc(void)
   struct pci_access *a = malloc(sizeof(struct pci_access));
   int i;
 
-  bzero(a, sizeof(*a));
-  a->id_file_name = PATH_PCI_IDS;
+  memset(a, 0, sizeof(*a));
+  pci_set_name_list_path(a, PCI_PATH_IDS_DIR "/" PCI_IDS, 0);
   for(i=0; i<PCI_ACCESS_MAX; i++)
     if (pci_methods[i] && pci_methods[i]->config)
       pci_methods[i]->config(a);
@@ -177,6 +182,7 @@ pci_cleanup(struct pci_access *a)
   if (a->methods)
     a->methods->cleanup(a);
   pci_free_name_list(a);
+  pci_set_name_list_path(a, NULL, 0);
   pci_mfree(a);
 }
 
@@ -191,9 +197,10 @@ pci_alloc_dev(struct pci_access *a)
 {
   struct pci_dev *d = pci_malloc(a, sizeof(struct pci_dev));
 
-  bzero(d, sizeof(*d));
+  memset(d, 0, sizeof(*d));
   d->access = a;
   d->methods = a->methods;
+  d->hdrtype = -1;
   if (d->methods->init_dev)
     d->methods->init_dev(d);
   return d;
@@ -209,10 +216,11 @@ pci_link_dev(struct pci_access *a, struct pci_dev *d)
 }
 
 struct pci_dev *
-pci_get_dev(struct pci_access *a, int bus, int dev, int func)
+pci_get_dev(struct pci_access *a, int domain, int bus, int dev, int func)
 {
   struct pci_dev *d = pci_alloc_dev(a);
 
+  d->domain = domain;
   d->bus = bus;
   d->dev = dev;
   d->func = func;