On Fri, Apr 25, 2025 at 11:24:20AM +0200, Lukas Wunner wrote: > A small puzzle piece to improve maintainability of the PCI core: > > The match_driver flag in struct pci_dev is used to postpone driver > binding until all PCI devices have been enumerated. > > The AMD IOMMU driver fiddles with the flag to work around breakage > introduced 10 years ago. The breaking change has since been reverted, > so accessing the flag appears to be superfluous and is hereby dropped > (patch [1/2]). The patch needs an ack from AMD IOMMU maintainers. > > This clears the way for moving the flag to struct pci_dev's priv_flags > and thus prevent any further abuse outside the PCI core (patch [2/2]). > > There are already two patches queued up in this cycle which amend > priv_flags with new definitions for bits 4, 5 and 6 (on the pci/hotplug > and pci/bwctrl topic branches), hence the bit number used here is 7. > > Lukas Wunner (2): > Revert "iommu/amd: Prevent binding other PCI drivers to IOMMU PCI > devices" > PCI: Limit visibility of match_driver flag to PCI core > > drivers/iommu/amd/init.c | 3 --- > drivers/pci/bus.c | 4 +++- > drivers/pci/pci-driver.c | 2 +- > drivers/pci/pci.h | 11 +++++++++++ > drivers/pci/probe.c | 1 - > include/linux/pci.h | 2 -- > 6 files changed, 15 insertions(+), 8 deletions(-) Provisionally applied to pci/enumeration for build testing, pending ack from AMD IOMMU folks.