Re: [PATCH] PCI: pci-hyperv: fix build errors on non-SYSFS config

From: Lorenzo Pieralisi
Date: Thu Aug 15 2019 - 06:48:11 EST


On Fri, Jul 12, 2019 at 08:53:19AM -0700, Randy Dunlap wrote:
> From: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
>
> Fix build errors when building almost-allmodconfig but with SYSFS
> not set (not enabled). Fixes these build errors:
>
> ERROR: "pci_destroy_slot" [drivers/pci/controller/pci-hyperv.ko] undefined!
> ERROR: "pci_create_slot" [drivers/pci/controller/pci-hyperv.ko] undefined!
>
> drivers/pci/slot.o is only built when SYSFS is enabled, so
> pci-hyperv.o has an implicit dependency on SYSFS.
> Make that explicit.
>
> Also, depending on X86 && X86_64 is not needed, so just change that
> to depend on X86_64.
>
> Fixes: a15f2c08c708 ("PCI: hv: support reporting serial number as slot
> information")

Fixed line break on Fixes tag, FYI.

> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
> Cc: Matthew Wilcox <willy@xxxxxxxxxxxxx>
> Cc: Jake Oshins <jakeo@xxxxxxxxxxxxx>
> Cc: "K. Y. Srinivasan" <kys@xxxxxxxxxxxxx>
> Cc: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>
> Cc: Stephen Hemminger <sthemmin@xxxxxxxxxxxxx>
> Cc: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx>
> Cc: Sasha Levin <sashal@xxxxxxxxxx>
> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
> Cc: linux-pci@xxxxxxxxxxxxxxx
> Cc: linux-hyperv@xxxxxxxxxxxxxxx
> Cc: Dexuan Cui <decui@xxxxxxxxxxxxx>
> ---
> v3: corrected Fixes: tag [Dexuan Cui <decui@xxxxxxxxxxxxx>]
> This is the Microsoft-preferred version of the patch.
>
> drivers/pci/Kconfig | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)

Applied to pci/hv for v5.4.

Thanks,
Lorenzo

> --- lnx-52.orig/drivers/pci/Kconfig
> +++ lnx-52/drivers/pci/Kconfig
> @@ -181,7 +181,7 @@ config PCI_LABEL
>
> config PCI_HYPERV
> tristate "Hyper-V PCI Frontend"
> - depends on X86 && HYPERV && PCI_MSI && PCI_MSI_IRQ_DOMAIN && X86_64
> + depends on X86_64 && HYPERV && PCI_MSI && PCI_MSI_IRQ_DOMAIN && SYSFS
> help
> The PCI device frontend driver allows the kernel to import arbitrary
> PCI devices from a PCI backend to support PCI driver domains.
>
>