On Sun, Jun 08, 2025 at 05:08:09PM -0700, Eric Biggers wrote: > On Sun, Jun 08, 2025 at 09:03:05AM +0530, Manivannan Sadhasivam wrote: > > Otherwise, the following build error will happen for CONFIG_DEBUG_FS=n && > > CONFIG_PCIE_PTM=y. > > > > drivers/pci/pcie/ptm.c:498:25: error: redefinition of 'pcie_ptm_create_debugfs' > > 498 | struct pci_ptm_debugfs *pcie_ptm_create_debugfs(struct device *dev, void *pdata, > > | ^ > > ./include/linux/pci.h:1915:2: note: previous definition is here > > 1915 | *pcie_ptm_create_debugfs(struct device *dev, void *pdata, > > | ^ > > drivers/pci/pcie/ptm.c:546:6: error: redefinition of 'pcie_ptm_destroy_debugfs' > > 546 | void pcie_ptm_destroy_debugfs(struct pci_ptm_debugfs *ptm_debugfs) > > | ^ > > ./include/linux/pci.h:1918:1: note: previous definition is here > > 1918 | pcie_ptm_destroy_debugfs(struct pci_ptm_debugfs *ptm_debugfs) { } > > | > > > > Fixes: 132833405e61 ("PCI: Add debugfs support for exposing PTM context") > > Reported-by: Eric Biggers <ebiggers@xxxxxxxxxx> > > Closes: https://lore.kernel.org/linux-pci/20250607025506.GA16607@sol > > Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx> > > --- > > drivers/pci/pcie/ptm.c | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/drivers/pci/pcie/ptm.c b/drivers/pci/pcie/ptm.c > > index ee5f615a9023..4bd73f038ffb 100644 > > --- a/drivers/pci/pcie/ptm.c > > +++ b/drivers/pci/pcie/ptm.c > > @@ -254,6 +254,7 @@ bool pcie_ptm_enabled(struct pci_dev *dev) > > } > > EXPORT_SYMBOL(pcie_ptm_enabled); > > > > +#if IS_ENABLED(CONFIG_DEBUG_FS) > > static ssize_t context_update_write(struct file *file, const char __user *ubuf, > > size_t count, loff_t *ppos) > > { > > @@ -552,3 +553,4 @@ void pcie_ptm_destroy_debugfs(struct pci_ptm_debugfs *ptm_debugfs) > > debugfs_remove_recursive(ptm_debugfs->debugfs); > > } > > EXPORT_SYMBOL_GPL(pcie_ptm_destroy_debugfs); > > +#endif > > Tested-by: Eric Biggers <ebiggers@xxxxxxxxxx> > > DEBUG_FS is a bool, not a tristate. It would be more conventional to write > '#ifdef CONFIG_DEBUG_FS' instead of '#if IS_ENABLED(CONFIG_DEBUG_FS)'. > I intentionally wanted to avoid using '#ifdef' since mixing both '#ifdef' and '#if IS_ENABLED' always create issues when one mistakenly uses the former for tristate symbols. So I always prefer using '#if IS_ENABLED'. > Also, the #if guards 300 lines of code. Perhaps they belong in a separate .c > file? > Perhaps, but not for this fix patch. - Mani -- மணிவண்ணன் சதாசிவம்