8 #include <linux/list.h>
32 && bus == (
unsigned int)dev_entry->
dev->bus->number
33 && devfn == dev_entry->
dev->devfn) {
64 bus = (
unsigned int)dev->
bus->number;
66 err = publish_cb(pdev, domain, bus, devfn, devid);
81 if (dev_entry->
dev == dev) {
83 found_dev = dev_entry->
dev;
104 INIT_LIST_HEAD(&dev_data->
dev_list);
119 unsigned int domain,
bus;
128 dev = dev_entry->
dev->bus->self;
129 for (; !found && dev !=
NULL; dev = dev->
bus->self) {
139 bus = (
unsigned int)dev_entry->
dev->bus->number;
142 err = publish_root_cb(pdev, domain, bus);
168 static int __xen_pcibk_get_pcifront_dev(
struct pci_dev *
pcidev,
170 unsigned int *domain,
unsigned int *bus,
174 *bus = pcidev->
bus->number;
175 *devfn = pcidev->
devfn;
180 .name =
"passthrough",
181 .init = __xen_pcibk_init_devices,
182 .free = __xen_pcibk_release_devices,
183 .find = __xen_pcibk_get_pcifront_dev,
184 .publish = __xen_pcibk_publish_pci_roots,
185 .release = __xen_pcibk_release_pci_dev,
186 .add = __xen_pcibk_add_pci_dev,
187 .get = __xen_pcibk_get_pci_dev,