When CONFIG_VIDEO is not set, defining the 'boot_display' attribute causes build errors/warnings, so hide the declaration as is done with other code that uses this variable. Bracket unused code inside #ifdef CONFIG_VIDEO/#endif to prevent other build warnings/errors. include/linux/device.h:199:33: warning: 'dev_attr_boot_display' defined but not used [-Wunused-variable] 199 | struct device_attribute dev_attr_##_name = __ATTR_RO(_name) drivers/pci/pci-sysfs.c:688:8: note: in expansion of macro 'DEVICE_ATTR_RO' 688 | static DEVICE_ATTR_RO(boot_display); drivers/pci/pci-sysfs.c:683:16: warning: ‘boot_display_show’ defined but not used [-Wunused-function] 683 | static ssize_t boot_display_show(struct device *dev, | ^~~~~~~~~~~~~~~~~ Fixes: c4f2dc1e5293c ("PCI: Add a new 'boot_display' attribute") Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> --- Cc: Mario Limonciello <mario.limonciello@xxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: linux-pci@xxxxxxxxxxxxxxx Also, a question: What does this do in pci-sysfs.c? #ifndef ARCH_PCI_DEV_GROUPS #define ARCH_PCI_DEV_GROUPS #endif Is there some hidden macro (probably using string concatenation) that uses this define value? Thanks. drivers/pci/pci-sysfs.c | 3 +++ 1 file changed, 3 insertions(+) --- linux-next-20250721.orig/drivers/pci/pci-sysfs.c +++ linux-next-20250721/drivers/pci/pci-sysfs.c @@ -680,12 +680,15 @@ const struct attribute_group *pcibus_gro NULL, }; +#ifdef CONFIG_VIDEO static ssize_t boot_display_show(struct device *dev, struct device_attribute *attr, char *buf) { return sysfs_emit(buf, "1\n"); } + static DEVICE_ATTR_RO(boot_display); +#endif static ssize_t boot_vga_show(struct device *dev, struct device_attribute *attr, char *buf)