xen/pcifront: Use to_pci_driver() instead of pci_dev->driver
Struct pci_driver contains a struct device_driver, so for PCI devices, it's easy to convert a device_driver * to a pci_driver * with to_pci_driver(). The device_driver * is in struct device, so we don't need to also keep track of the pci_driver * in struct pci_dev. Replace pdev->driver with to_pci_driver(). This is a step toward removing pci_dev->driver. [bhelgaas: split to separate patch] Link: https://lore.kernel.org/r/20211004125935.2300113-11-u.kleine-koenig@pengutronix.de Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
This commit is contained in:
parent
34ab316d72
commit
43e85554d4
|
@ -599,12 +599,12 @@ static pci_ers_result_t pcifront_common_process(int cmd,
|
|||
cmd, bus, devfn);
|
||||
|
||||
pcidev = pci_get_domain_bus_and_slot(domain, bus, devfn);
|
||||
if (!pcidev || !pcidev->driver) {
|
||||
if (!pcidev || !pcidev->dev.driver) {
|
||||
dev_err(&pdev->xdev->dev, "device or AER driver is NULL\n");
|
||||
pci_dev_put(pcidev);
|
||||
return PCI_ERS_RESULT_NONE;
|
||||
}
|
||||
pdrv = pcidev->driver;
|
||||
pdrv = to_pci_driver(pcidev->dev.driver);
|
||||
|
||||
if (pdrv->err_handler && pdrv->err_handler->error_detected) {
|
||||
pci_dbg(pcidev, "trying to call AER service\n");
|
||||
|
|
Loading…
Reference in New Issue