#define pr_fmt(fmt) …
#define dev_fmt …
#include <linux/list.h>
#include <linux/slab.h>
#include <linux/pci.h>
#include <linux/mutex.h>
#include "pciback.h"
#define PCI_SLOT_MAX …
struct vpci_dev_data { … };
static inline struct list_head *list_first(struct list_head *head)
{ … }
static struct pci_dev *__xen_pcibk_get_pci_dev(struct xen_pcibk_device *pdev,
unsigned int domain,
unsigned int bus,
unsigned int devfn)
{ … }
static inline int match_slot(struct pci_dev *l, struct pci_dev *r)
{ … }
static int __xen_pcibk_add_pci_dev(struct xen_pcibk_device *pdev,
struct pci_dev *dev, int devid,
publish_pci_dev_cb publish_cb)
{ … }
static void __xen_pcibk_release_pci_dev(struct xen_pcibk_device *pdev,
struct pci_dev *dev, bool lock)
{ … }
static int __xen_pcibk_init_devices(struct xen_pcibk_device *pdev)
{ … }
static int __xen_pcibk_publish_pci_roots(struct xen_pcibk_device *pdev,
publish_pci_root_cb publish_cb)
{ … }
static void __xen_pcibk_release_devices(struct xen_pcibk_device *pdev)
{ … }
static int __xen_pcibk_get_pcifront_dev(struct pci_dev *pcidev,
struct xen_pcibk_device *pdev,
unsigned int *domain, unsigned int *bus,
unsigned int *devfn)
{ … }
const struct xen_pcibk_backend xen_pcibk_vpci_backend = …;