Re: [PATCH] PCI/sysfs: hide boot_display definition when VIDEO=n

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 7/21/25 4:02 PM, Randy Dunlap wrote:
> 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>

Hi Randy,

Thanks for the patch.  Stephen raised this last week too and it's 
brought up some other interesting topics as part of fixing it.

I have two other approaches on the mailing list right now waiting for 
review.

1) Make a static sysfs file.
https://lore.kernel.org/linux-pci/20250721023818.2410062-1-superm1@xxxxxxxxxx/T/#u

2) Move out of PCI into DRM.
https://lore.kernel.org/linux-pci/20250721185726.1264909-1-superm1@xxxxxxxxxx/T/#me4356b3a172cbdafe83393bedce10f17a86e0da7

Thanks,

> ---
> 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)





[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux