[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2] xen/pciback: support driver_override
On 09/02/2016 08:30 AM, Juergen Gross wrote: > Support the driver_override scheme introduced with commit 782a985d7af2 > ("PCI: Introduce new device binding path using pci_dev.driver_override") > > As pcistub_probe() is called for all devices (it has to check for a > match based on the slot address rather than device type) it has to > check for driver_override set to "pciback" itself. > > Signed-off-by: Juergen Gross <jgross@xxxxxxxx> > --- > V2: removed now unused label > --- > drivers/xen/xen-pciback/pci_stub.c | 16 ++++++++++------ > 1 file changed, 10 insertions(+), 6 deletions(-) > > diff --git a/drivers/xen/xen-pciback/pci_stub.c > b/drivers/xen/xen-pciback/pci_stub.c > index 258b7c3..85c28f7 100644 > --- a/drivers/xen/xen-pciback/pci_stub.c > +++ b/drivers/xen/xen-pciback/pci_stub.c > @@ -25,6 +25,8 @@ > #include "conf_space.h" > #include "conf_space_quirks.h" > > +#define PCISTUB_DRIVER_NAME "pciback" > + > static char *pci_devs_to_hide; > wait_queue_head_t xen_pcibk_aer_wait_queue; > /*Add sem for sync AER handling and xen_pcibk remove/reconfigue ops, > @@ -529,16 +531,18 @@ static int pcistub_probe(struct pci_dev *dev, const > struct pci_device_id *id) > "don't have a normal (0) or bridge (1) " > "header type!\n"); > err = -ENODEV; > - goto out; > } > > + } else if (!dev->driver_override || > + strcmp(dev->driver_override, PCISTUB_DRIVER_NAME)) > + /* Didn't find the device */ > + err = -ENODEV; > + > + if (!err) { > dev_info(&dev->dev, "seizing device\n"); > err = pcistub_seize(dev); > - } else > - /* Didn't find the device */ > - err = -ENODEV; > + } Should devices with pciback override be displayed in /sys/bus/pci/drivers/pciback/slots? If they should then they need to be either added to pcistub_device_ids or kept on some other list. Also, do you think checking override might better be done first, before testing for ID match? -boris > > -out: > return err; > } > > @@ -945,7 +949,7 @@ static const struct pci_error_handlers > xen_pcibk_error_handler = { > static struct pci_driver xen_pcibk_pci_driver = { > /* The name should be xen_pciback, but until the tools are updated > * we will keep it as pciback. */ > - .name = "pciback", > + .name = PCISTUB_DRIVER_NAME, > .id_table = pcistub_ids, > .probe = pcistub_probe, > .remove = pcistub_remove, _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |