All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>
To: Bjorn Helgaas <bhelgaas@google.com>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>,
	kernel@pengutronix.de,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-pci@vger.kernel.org
Subject: [PATCH v1 5/5] PCI: Drop duplicated tracking of a pci_dev's bound driver
Date: Thu, 29 Jul 2021 22:37:40 +0200	[thread overview]
Message-ID: <20210729203740.1377045-6-u.kleine-koenig@pengutronix.de> (raw)
In-Reply-To: <20210729203740.1377045-1-u.kleine-koenig@pengutronix.de>

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
 drivers/pci/pci-driver.c | 4 ----
 include/linux/pci.h      | 3 +--
 2 files changed, 1 insertion(+), 6 deletions(-)

diff --git a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c
index 740d5bf5d411..5d950eb476e2 100644
--- a/drivers/pci/pci-driver.c
+++ b/drivers/pci/pci-driver.c
@@ -305,12 +305,10 @@ static long local_pci_probe(void *_ddi)
 	 * its remove routine.
 	 */
 	pm_runtime_get_sync(dev);
-	pci_dev->driver = pci_drv;
 	rc = pci_drv->probe(pci_dev, ddi->id);
 	if (!rc)
 		return rc;
 	if (rc < 0) {
-		pci_dev->driver = NULL;
 		pm_runtime_put_sync(dev);
 		return rc;
 	}
@@ -376,7 +374,6 @@ static int pci_call_probe(struct pci_driver *drv, struct pci_dev *dev,
  * @pci_dev: PCI device being probed
  *
  * returns 0 on success, else error.
- * side-effect: pci_dev->driver is set to drv when drv claims pci_dev.
  */
 static int __pci_device_probe(struct pci_driver *drv, struct pci_dev *pci_dev)
 {
@@ -451,7 +448,6 @@ static int pci_device_remove(struct device *dev)
 		pm_runtime_put_noidle(dev);
 	}
 	pcibios_free_irq(pci_dev);
-	pci_dev->driver = NULL;
 	pci_iov_remove(pci_dev);
 
 	/* Undo the runtime PM settings in local_pci_probe() */
diff --git a/include/linux/pci.h b/include/linux/pci.h
index 778f3b5e6f23..f44ab76e216f 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -342,7 +342,6 @@ struct pci_dev {
 	u16		pcie_flags_reg;	/* Cached PCIe Capabilities Register */
 	unsigned long	*dma_alias_mask;/* Mask of enabled devfn aliases */
 
-	struct pci_driver *driver;	/* Driver bound to this device */
 	u64		dma_mask;	/* Mask of the bits of bus address this
 					   device implements.  Normally this is
 					   0xffffffff.  You only need to change
@@ -887,7 +886,7 @@ struct pci_driver {
 };
 
 #define	to_pci_driver(drv) container_of(drv, struct pci_driver, driver)
-#define pci_driver_of_dev(pdev) ((pdev)->driver)
+#define pci_driver_of_dev(pdev) ((pdev)->dev.driver ? to_pci_driver((pdev)->dev.driver) : NULL)
 
 /**
  * PCI_DEVICE - macro used to describe a specific PCI device
-- 
2.30.2


  parent reply	other threads:[~2021-07-29 20:37 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-29 20:37 [PATCH v1 0/5] PCI: Drop duplicated tracking of a pci_dev's bound driver Uwe Kleine-König
2021-07-29 20:37 ` Uwe Kleine-König
2021-07-29 20:37 ` [PATCH v1 1/5] PCI: Simplify pci_device_remove() Uwe Kleine-König
2021-07-29 20:37 ` [PATCH v1 2/5] PCI: Drop useless check from pci_device_probe() Uwe Kleine-König
2021-07-29 20:37 ` [PATCH v1 3/5] PCI: Provide wrapper to access a pci_dev's bound driver Uwe Kleine-König
2021-07-29 20:37 ` [PATCH v1 4/5] PCI: Adapt all code locations to not use struct pci_dev::driver directly Uwe Kleine-König
2021-07-29 20:37   ` Uwe Kleine-König
2021-07-30 20:37   ` Boris Ostrovsky
2021-07-30 20:37     ` Boris Ostrovsky
2021-07-31 12:08     ` Uwe Kleine-König
2021-07-31 12:08       ` Uwe Kleine-König
2021-08-02 13:06       ` Boris Ostrovsky
2021-08-02 13:06         ` Boris Ostrovsky
2021-07-29 20:37 ` Uwe Kleine-König [this message]
2021-07-30  5:14   ` [PATCH v1 5/5] PCI: Drop duplicated tracking of a pci_dev's bound driver Greg Kroah-Hartman
2021-07-30  5:24     ` Uwe Kleine-König
2021-07-30  5:14 ` [PATCH v1 0/5] " Greg Kroah-Hartman
2021-07-30  5:14   ` Greg Kroah-Hartman
2021-07-30  8:06 ` Andy Shevchenko
2021-07-30  8:06   ` Andy Shevchenko
2021-07-30 17:48   ` Uwe Kleine-König
2021-07-30 17:48     ` Uwe Kleine-König

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210729203740.1377045-6-u.kleine-koenig@pengutronix.de \
    --to=u.kleine-koenig@pengutronix.de \
    --cc=bhelgaas@google.com \
    --cc=geert@linux-m68k.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=kernel@pengutronix.de \
    --cc=linux-pci@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.