Merge tag 'libnvdimm-for-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdim...
[linux-2.6-microblaze.git] / scripts / mod / file2alias.c
index 7c97fa8..49aba86 100644 (file)
@@ -426,7 +426,7 @@ static int do_ieee1394_entry(const char *filename,
        return 1;
 }
 
-/* Looks like: pci:vNdNsvNsdNbcNscNiN. */
+/* Looks like: pci:vNdNsvNsdNbcNscNiN or <prefix>_pci:vNdNsvNsdNbcNscNiN. */
 static int do_pci_entry(const char *filename,
                        void *symval, char *alias)
 {
@@ -440,8 +440,21 @@ static int do_pci_entry(const char *filename,
        DEF_FIELD(symval, pci_device_id, subdevice);
        DEF_FIELD(symval, pci_device_id, class);
        DEF_FIELD(symval, pci_device_id, class_mask);
+       DEF_FIELD(symval, pci_device_id, override_only);
+
+       switch (override_only) {
+       case 0:
+               strcpy(alias, "pci:");
+               break;
+       case PCI_ID_F_VFIO_DRIVER_OVERRIDE:
+               strcpy(alias, "vfio_pci:");
+               break;
+       default:
+               warn("Unknown PCI driver_override alias %08X\n",
+                    override_only);
+               return 0;
+       }
 
-       strcpy(alias, "pci:");
        ADD(alias, "v", vendor != PCI_ANY_ID, vendor);
        ADD(alias, "d", device != PCI_ANY_ID, device);
        ADD(alias, "sv", subvendor != PCI_ANY_ID, subvendor);