|
@@ -612,6 +612,9 @@ extern void pci_remove_bus_device(struct pci_dev *dev);
|
|
|
extern void pci_stop_bus_device(struct pci_dev *dev);
|
|
|
void pci_setup_cardbus(struct pci_bus *bus);
|
|
|
extern void pci_sort_breadthfirst(void);
|
|
|
+#define dev_is_pci(d) ((d)->bus == &pci_bus_type)
|
|
|
+#define dev_is_pf(d) ((dev_is_pci(d) ? to_pci_dev(d)->is_physfn : false))
|
|
|
+#define dev_num_vf(d) ((dev_is_pci(d) ? pci_num_vf(to_pci_dev(d)) : 0))
|
|
|
|
|
|
/* Generic PCI functions exported to card drivers */
|
|
|
|
|
@@ -1129,6 +1132,9 @@ static inline struct pci_dev *pci_get_bus_and_slot(unsigned int bus,
|
|
|
unsigned int devfn)
|
|
|
{ return NULL; }
|
|
|
|
|
|
+#define dev_is_pci(d) (false)
|
|
|
+#define dev_is_pf(d) (false)
|
|
|
+#define dev_num_vf(d) (0)
|
|
|
#endif /* CONFIG_PCI */
|
|
|
|
|
|
/* Include architecture-dependent settings and functions */
|
|
@@ -1286,6 +1292,7 @@ void __iomem *pci_ioremap_bar(struct pci_dev *pdev, int bar);
|
|
|
extern int pci_enable_sriov(struct pci_dev *dev, int nr_virtfn);
|
|
|
extern void pci_disable_sriov(struct pci_dev *dev);
|
|
|
extern irqreturn_t pci_sriov_migration(struct pci_dev *dev);
|
|
|
+extern int pci_num_vf(struct pci_dev *dev);
|
|
|
#else
|
|
|
static inline int pci_enable_sriov(struct pci_dev *dev, int nr_virtfn)
|
|
|
{
|
|
@@ -1298,6 +1305,10 @@ static inline irqreturn_t pci_sriov_migration(struct pci_dev *dev)
|
|
|
{
|
|
|
return IRQ_NONE;
|
|
|
}
|
|
|
+static inline int pci_num_vf(struct pci_dev *dev)
|
|
|
+{
|
|
|
+ return 0;
|
|
|
+}
|
|
|
#endif
|
|
|
|
|
|
#if defined(CONFIG_HOTPLUG_PCI) || defined(CONFIG_HOTPLUG_PCI_MODULE)
|