[+cc Kelsey] On Mon, Sep 02, 2019 at 04:11:00PM -0500, Bjorn Helgaas wrote: > On Fri, Aug 30, 2019 at 09:18:40AM -0700, Christoph Hellwig wrote: > > On Fri, Aug 30, 2019 at 05:07:56PM +0200, Krzysztof Wilczynski wrote: > > > Move ATS function prototypes from include/linux/pci-ats.h to > > > include/linux/pci.h so users only need to include <linux/pci.h>: > > > > Why is that so important? Very few PCI(e) device drivers use ATS, > > so keeping it out of everyones include hell doesn't seem all bad. > > This was my idea, and it wasn't a good one, sorry. > > The ATS, PRI, and PASID interfaces are all sort of related and are > used only by the IOMMU drivers, so it probably makes sense to put them > all together. Right now the ATS stuff is in linux/pci.h and PRI/PASID > stuff is in linux/pci-ats.h. Maybe the right thing would be to move > the ATS stuff to pci-ats.h. > > I previously moved it from pci-ats.h to pci.h with ff9bee895c4d ("PCI: > Move ATS declarations to linux/pci.h so they're all together") with > the excuse of putting the external ATS interfaces next to > pci_ats_init(). But that really looks like it was a mistake because > pci_ats_init() is a PCI-internal thing and its declaration should > probably be in drivers/pci/pci.h instead. Never mind the pci_ats_init() part; Kelsey has already moved that: https://git.kernel.org/cgit/linux/kernel/git/helgaas/pci.git/commit/?id=b92b512a435d