PCI: Limit visibility of match_driver flag to PCI core
authorLukas Wunner <lukas@wunner.de>
Fri, 25 Apr 2025 09:24:22 +0000 (11:24 +0200)
committerKrzysztof Wilczyński <kwilczynski@kernel.org>
Thu, 15 May 2025 13:40:52 +0000 (13:40 +0000)
commitce45dc4bb22e96b59a07e19b67e915d99dd5281b
tree1aee9649ff974396d2dd52a59c39dfa1171e60a3
parent3be5fa236649da6404f1bca1491bf02d4b0d5cce
PCI: Limit visibility of match_driver flag to PCI core

Since commit 58d9a38f6fac ("PCI: Skip attaching driver in device_add()"),
PCI enumeration is split into two steps:  In the first step, all devices
are published in sysfs with device_add().  In the second step, drivers are
bound to the devices with device_attach().  To delay driver binding until
the second step, a "bool match_driver" in struct pci_dev is used.

Instead of a bool, use a bit in the "unsigned long priv_flags" to shrink
struct pci_dev a little and prevent use of the bool outside the PCI core
(as has happened with commit cbbc00be2ce3 ("iommu/amd: Prevent binding
other PCI drivers to IOMMU PCI devices")).

Signed-off-by: Lukas Wunner <lukas@wunner.de>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org>
Link: https://patch.msgid.link/d22a9e5b81d6bd8dd1837607d6156679b3b1199c.1745572340.git.lukas@wunner.de
drivers/pci/bus.c
drivers/pci/pci-driver.c
drivers/pci/pci.h
drivers/pci/probe.c
include/linux/pci.h