1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3 * Copyright IBM Corp. 2020
4 *
5 * Author(s):
6 * Niklas Schnelle <[email protected]>
7 *
8 */
9
10 #ifndef __S390_PCI_IOV_H
11 #define __S390_PCI_IOV_H
12
13 #include <linux/pci.h>
14
15 #ifdef CONFIG_PCI_IOV
16 void zpci_iov_remove_virtfn(struct pci_dev *pdev, int vfn);
17
18 void zpci_iov_map_resources(struct pci_dev *pdev);
19
20 int zpci_iov_setup_virtfn(struct zpci_bus *zbus, struct pci_dev *virtfn, int vfn);
21
22 struct pci_dev *zpci_iov_find_parent_pf(struct zpci_bus *zbus, struct zpci_dev *zdev);
23
24 #else /* CONFIG_PCI_IOV */
zpci_iov_remove_virtfn(struct pci_dev * pdev,int vfn)25 static inline void zpci_iov_remove_virtfn(struct pci_dev *pdev, int vfn) {}
26
zpci_iov_map_resources(struct pci_dev * pdev)27 static inline void zpci_iov_map_resources(struct pci_dev *pdev) {}
28
zpci_iov_setup_virtfn(struct zpci_bus * zbus,struct pci_dev * virtfn,int vfn)29 static inline int zpci_iov_setup_virtfn(struct zpci_bus *zbus, struct pci_dev *virtfn, int vfn)
30 {
31 return 0;
32 }
33
zpci_iov_find_parent_pf(struct zpci_bus * zbus,struct zpci_dev * zdev)34 static inline struct pci_dev *zpci_iov_find_parent_pf(struct zpci_bus *zbus, struct zpci_dev *zdev)
35 {
36 return NULL;
37 }
38 #endif /* CONFIG_PCI_IOV */
39 #endif /* __S390_PCI_IOV_h */
40