On Wed, Aug 09, 2023 at 07:28:51PM -0400, Alistair Francis wrote: > --- a/drivers/pci/pci-sysfs.c > +++ b/drivers/pci/pci-sysfs.c > @@ -1226,6 +1227,12 @@ static int pci_create_resource_files(struct pci_dev *pdev) > int i; > int retval; > > +#ifdef CONFIG_PCI_DOE > + retval = doe_sysfs_init(pdev); > + if (retval) > + return retval; > +#endif > + The preferred way to expose PCI sysfs attributes nowadays is to add them to pci_dev_attr_groups[] and use the ->is_visible callback to check whether they're applicable to a particular pci_dev. The alternative via pci_create_resource_files() has race conditions which I think still haven't been fixed. Bjorn recommended the ->is_visible approach in response to the most recent attempt to fix the race: https://lore.kernel.org/linux-pci/20230427161458.GA249886@bhelgaas/ To avoid (most of) the #ifdefs, you may want to consider adding a doe-sysfs.c file like I've done for cma in this commit: https://github.com/l1k/linux/commit/b057e2fb0ee0 Thanks, Lukas