sparc/PCI: Fix for panic while enabling SR-IOV
[firefly-linux-kernel-4.4.55.git] / arch / sparc / kernel / pci.c
index badf0951d73c8f2d875aa5cbc093caef04616aeb..9f9614df9e1e54e222d60773cfac146af332b276 100644 (file)
@@ -994,6 +994,23 @@ void pcibios_set_master(struct pci_dev *dev)
        /* No special bus mastering setup handling */
 }
 
+#ifdef CONFIG_PCI_IOV
+int pcibios_add_device(struct pci_dev *dev)
+{
+       struct pci_dev *pdev;
+
+       /* Add sriov arch specific initialization here.
+        * Copy dev_archdata from PF to VF
+        */
+       if (dev->is_virtfn) {
+               pdev = dev->physfn;
+               memcpy(&dev->dev.archdata, &pdev->dev.archdata,
+                      sizeof(struct dev_archdata));
+       }
+       return 0;
+}
+#endif /* CONFIG_PCI_IOV */
+
 static int __init pcibios_init(void)
 {
        pci_dfl_cache_line_size = 64 >> 2;