diff options
author | Uwe Kleine-König <u.kleine-koenig@pengutronix.de> | 2021-10-12 16:35:34 -0500 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2021-10-15 11:43:43 -0500 |
commit | 43e85554d4ed1cb2eec417cc43cb5fc60157235e (patch) | |
tree | f94bfc8f89ae421d3fcd7529ca26f7151352c0f9 | |
parent | 34ab316d7287692bad41ce4a431b43d60a8bd20f (diff) | |
download | lwn-43e85554d4ed1cb2eec417cc43cb5fc60157235e.tar.gz lwn-43e85554d4ed1cb2eec417cc43cb5fc60157235e.zip |
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>
-rw-r--r-- | drivers/pci/xen-pcifront.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/pci/xen-pcifront.c b/drivers/pci/xen-pcifront.c index aa3b84823e68..d858d25b6cab 100644 --- a/drivers/pci/xen-pcifront.c +++ b/drivers/pci/xen-pcifront.c @@ -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"); |