]> mj.ucw.cz Git - pciutils.git/commitdiff
ABI version bump for pci_fill_info()
authorMartin Mares <mj@ucw.cz>
Thu, 30 May 2024 15:52:26 +0000 (17:52 +0200)
committerMartin Mares <mj@ucw.cz>
Thu, 30 May 2024 15:52:53 +0000 (17:52 +0200)
We have new flags and new fields in struct pci_dev.

lib/access.c
lib/caps.c
lib/filter.c
lib/internal.h
lib/libpci.ver

index 7d6612387233da28ba25e2d2433bdc427c971648..baaabcb54c4b4a4680859b26bfc2ee7665071d18 100644 (file)
@@ -191,7 +191,7 @@ pci_reset_properties(struct pci_dev *d)
 }
 
 int
-pci_fill_info_v38(struct pci_dev *d, int flags)
+pci_fill_info_v313(struct pci_dev *d, int flags)
 {
   unsigned int uflags = flags;
   if (uflags & PCI_FILL_RESCAN)
@@ -205,21 +205,23 @@ pci_fill_info_v38(struct pci_dev *d, int flags)
 }
 
 /* In version 3.1, pci_fill_info got new flags => versioned alias */
-/* In versions 3.2, 3.3, 3.4, 3.5 and 3.8, the same has happened */
-STATIC_ALIAS(int pci_fill_info(struct pci_dev *d, int flags), pci_fill_info_v38(d, flags));
-DEFINE_ALIAS(int pci_fill_info_v30(struct pci_dev *d, int flags), pci_fill_info_v38);
-DEFINE_ALIAS(int pci_fill_info_v31(struct pci_dev *d, int flags), pci_fill_info_v38);
-DEFINE_ALIAS(int pci_fill_info_v32(struct pci_dev *d, int flags), pci_fill_info_v38);
-DEFINE_ALIAS(int pci_fill_info_v33(struct pci_dev *d, int flags), pci_fill_info_v38);
-DEFINE_ALIAS(int pci_fill_info_v34(struct pci_dev *d, int flags), pci_fill_info_v38);
-DEFINE_ALIAS(int pci_fill_info_v35(struct pci_dev *d, int flags), pci_fill_info_v38);
+/* In versions 3.2, 3.3, 3.4, 3.5, 3.8 and 3.12, the same has happened */
+STATIC_ALIAS(int pci_fill_info(struct pci_dev *d, int flags), pci_fill_info_v313(d, flags));
+DEFINE_ALIAS(int pci_fill_info_v30(struct pci_dev *d, int flags), pci_fill_info_v313);
+DEFINE_ALIAS(int pci_fill_info_v31(struct pci_dev *d, int flags), pci_fill_info_v313);
+DEFINE_ALIAS(int pci_fill_info_v32(struct pci_dev *d, int flags), pci_fill_info_v313);
+DEFINE_ALIAS(int pci_fill_info_v33(struct pci_dev *d, int flags), pci_fill_info_v313);
+DEFINE_ALIAS(int pci_fill_info_v34(struct pci_dev *d, int flags), pci_fill_info_v313);
+DEFINE_ALIAS(int pci_fill_info_v35(struct pci_dev *d, int flags), pci_fill_info_v313);
+DEFINE_ALIAS(int pci_fill_info_v38(struct pci_dev *d, int flags), pci_fill_info_v313);
 SYMBOL_VERSION(pci_fill_info_v30, pci_fill_info@LIBPCI_3.0);
 SYMBOL_VERSION(pci_fill_info_v31, pci_fill_info@LIBPCI_3.1);
 SYMBOL_VERSION(pci_fill_info_v32, pci_fill_info@LIBPCI_3.2);
 SYMBOL_VERSION(pci_fill_info_v33, pci_fill_info@LIBPCI_3.3);
 SYMBOL_VERSION(pci_fill_info_v34, pci_fill_info@LIBPCI_3.4);
 SYMBOL_VERSION(pci_fill_info_v35, pci_fill_info@LIBPCI_3.5);
-SYMBOL_VERSION(pci_fill_info_v38, pci_fill_info@@LIBPCI_3.8);
+SYMBOL_VERSION(pci_fill_info_v38, pci_fill_info@LIBPCI_3.8);
+SYMBOL_VERSION(pci_fill_info_v313, pci_fill_info@@LIBPCI_3.13);
 
 void
 pci_setup_cache(struct pci_dev *d, byte *cache, int len)
index cf1df5d581121a62978630ec864b75345199092c..6b39c10ffffcccda568ffc6db4cce0d6d954eebc 100644 (file)
@@ -130,7 +130,7 @@ pci_find_cap_nr(struct pci_dev *d, unsigned int id, unsigned int type,
   unsigned int target = (cap_number ? *cap_number : 0);
   unsigned int index = 0;
 
-  pci_fill_info_v38(d, ((type == PCI_CAP_NORMAL) ? PCI_FILL_CAPS : PCI_FILL_EXT_CAPS));
+  pci_fill_info_v313(d, ((type == PCI_CAP_NORMAL) ? PCI_FILL_CAPS : PCI_FILL_EXT_CAPS));
 
   for (c=d->first_cap; c; c=c->next)
     {
index 0301f49f93ff76e6a29f6d781817c2dfd4f83886..4221f570bd65f2b1b37d462a83ed73ea2af9a6aa 100644 (file)
@@ -204,20 +204,20 @@ pci_filter_match_v38(struct pci_filter *f, struct pci_dev *d)
     return 0;
   if (f->device >= 0 || f->vendor >= 0)
     {
-      pci_fill_info_v38(d, PCI_FILL_IDENT);
+      pci_fill_info_v313(d, PCI_FILL_IDENT);
       if ((f->device >= 0 && f->device != d->device_id) ||
          (f->vendor >= 0 && f->vendor != d->vendor_id))
        return 0;
     }
   if (f->device_class >= 0)
     {
-      pci_fill_info_v38(d, PCI_FILL_CLASS);
+      pci_fill_info_v313(d, PCI_FILL_CLASS);
       if ((f->device_class ^ d->device_class) & f->device_class_mask)
        return 0;
     }
   if (f->prog_if >= 0)
     {
-      pci_fill_info_v38(d, PCI_FILL_CLASS_EXT);
+      pci_fill_info_v313(d, PCI_FILL_CLASS_EXT);
       if (f->prog_if != d->prog_if)
        return 0;
     }
index 68e9fa0756c66114f296d0e7e05c72da70c3190e..996b80dd0c33654f695a9d169b6587f5be1f5760 100644 (file)
@@ -104,6 +104,7 @@ int pci_fill_info_v33(struct pci_dev *, int flags) VERSIONED_ABI;
 int pci_fill_info_v34(struct pci_dev *, int flags) VERSIONED_ABI;
 int pci_fill_info_v35(struct pci_dev *, int flags) VERSIONED_ABI;
 int pci_fill_info_v38(struct pci_dev *, int flags) VERSIONED_ABI;
+int pci_fill_info_v313(struct pci_dev *, int flags) VERSIONED_ABI;
 
 static inline int want_fill(struct pci_dev *d, unsigned want_fields, unsigned int try_fields)
 {
index 33ee0244ab8d8d980ea7913cd696c9d1d88774a9..dbcc8761cd00542767d0d8fc40797cc4f9f60822 100644 (file)
@@ -98,3 +98,8 @@ LIBPCI_3.8 {
                pci_filter_parse_id;
                pci_filter_parse_slot;
 };
+
+LIBPCI_3.13 {
+       global:
+               pci_fill_info;
+};