Message ID | 20201021081030.160-1-zhenzhong.duan@gmail.com |
---|---|
State | New |
Headers | show |
Series | [1/2] PCI: export pci_match_device() | expand |
On Wed, Oct 21, 2020 at 04:10:29PM +0800, Zhenzhong Duan wrote: > pci_match_id() is deprecated as it doesn't catch any dynamic ids that > a driver might want to check for. > > Export pci_match_device() as a replacement which supports both dynamic > and static ids. You don't actually seems to add any user outside of the PCI core, so I think you only need to drop the static specifier and add a prototype.
On Thu, Oct 22, 2020 at 11:21 PM Christoph Hellwig <hch@infradead.org> wrote: > > On Wed, Oct 21, 2020 at 04:10:29PM +0800, Zhenzhong Duan wrote: > > pci_match_id() is deprecated as it doesn't catch any dynamic ids that > > a driver might want to check for. > > > > Export pci_match_device() as a replacement which supports both dynamic > > and static ids. > > You don't actually seems to add any user outside of the PCI core, > so I think you only need to drop the static specifier and add a > prototype. Thanks for review, will do it. I'll combine the two patches into one if no need to export.
diff --git a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c index d1b7169..bd9cfd1 100644 --- a/drivers/pci/pci-driver.c +++ b/drivers/pci/pci-driver.c @@ -250,7 +250,7 @@ const struct pci_device_id *pci_match_id(const struct pci_device_id *ids, * system is in its list of supported devices. Returns the matching * pci_device_id structure or %NULL if there is no match. */ -static const struct pci_device_id *pci_match_device(struct pci_driver *drv, +const struct pci_device_id *pci_match_device(struct pci_driver *drv, struct pci_dev *dev) { struct pci_dynid *dynid; @@ -279,6 +279,7 @@ static const struct pci_device_id *pci_match_device(struct pci_driver *drv, return found_id; } +EXPORT_SYMBOL(pci_match_device); struct drv_dev_and_id { struct pci_driver *drv; diff --git a/include/linux/pci.h b/include/linux/pci.h index 8355306..6f947c4 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h @@ -1406,6 +1406,8 @@ int pci_add_dynid(struct pci_driver *drv, unsigned long driver_data); const struct pci_device_id *pci_match_id(const struct pci_device_id *ids, struct pci_dev *dev); +const struct pci_device_id *pci_match_device(struct pci_driver *drv, + struct pci_dev *dev); int pci_scan_bridge(struct pci_bus *bus, struct pci_dev *dev, int max, int pass);
pci_match_id() is deprecated as it doesn't catch any dynamic ids that a driver might want to check for. Export pci_match_device() as a replacement which supports both dynamic and static ids. Signed-off-by: Zhenzhong Duan <zhenzhong.duan@gmail.com> --- drivers/pci/pci-driver.c | 3 ++- include/linux/pci.h | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-)