PCI: hv: fix pci-hyperv build, depends on SYSFS
diff mbox series

Message ID 69c25bc3-da00-2758-92ee-13c82b51fc45@infradead.org
State Superseded
Delegated to: Lorenzo Pieralisi
Headers show
Series
  • PCI: hv: fix pci-hyperv build, depends on SYSFS
Related show

Commit Message

Randy Dunlap July 2, 2019, 11:24 p.m. UTC
From: Randy Dunlap <rdunlap@infradead.org>

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: 4daace0d8ce8 ("PCI: hv: Add paravirtual PCI front-end for Microsoft Hyper-V VMs")

Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Jake Oshins <jakeo@microsoft.com>
Cc: "K. Y. Srinivasan" <kys@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Cc: Stephen Hemminger <sthemmin@microsoft.com>
Cc: Sasha Levin <sashal@kernel.org>
Cc: linux-hyperv@vger.kernel.org
---
 drivers/pci/Kconfig |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Randy Dunlap July 3, 2019, 3:25 a.m. UTC | #1
On 7/2/19 5:15 PM, Matthew Wilcox wrote:
> On Tue, Jul 02, 2019 at 04:24:30PM -0700, Randy Dunlap wrote:
>> From: Randy Dunlap <rdunlap@infradead.org>
>>
>> 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.
> 
> I wonder if we shouldn't rather provide no-op versions of
> pci_create|destroy_slot for when SYSFS is not set?
> 

Makes sense.  I'm test-building that now.
Dexuan Cui July 3, 2019, 4:33 a.m. UTC | #2
> From: linux-hyperv-owner@vger.kernel.org
> <linux-hyperv-owner@vger.kernel.org> On Behalf Of Randy Dunlap
> Sent: Tuesday, July 2, 2019 4:25 PM
> 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: 4daace0d8ce8 ("PCI: hv: Add paravirtual PCI front-end for Microsoft
> Hyper-V VMs")

I think the Fixes tag should be:
Fixes: a15f2c08c708 ("PCI: hv: support reporting serial number as slot information")

Thanks,
-- Dexuan
Dexuan Cui July 3, 2019, 4:40 a.m. UTC | #3
> From: linux-hyperv-owner@vger.kernel.org
> <linux-hyperv-owner@vger.kernel.org> On Behalf Of Randy Dunlap
> Sent: Tuesday, July 2, 2019 8:25 PM
> To: Matthew Wilcox <willy@infradead.org>
> Cc: LKML <linux-kernel@vger.kernel.org>; linux-hyperv@vger.kernel.org; Jake
> Oshins <jakeo@microsoft.com>; KY Srinivasan <kys@microsoft.com>; Haiyang
> Zhang <haiyangz@microsoft.com>; Stephen Hemminger
> <sthemmin@microsoft.com>; Sasha Levin <sashal@kernel.org>; linux-pci
> <linux-pci@vger.kernel.org>; Bjorn Helgaas <bhelgaas@google.com>
> Subject: Re: [PATCH] PCI: hv: fix pci-hyperv build, depends on SYSFS
> 
> On 7/2/19 5:15 PM, Matthew Wilcox wrote:
> > On Tue, Jul 02, 2019 at 04:24:30PM -0700, Randy Dunlap wrote:
> >> From: Randy Dunlap <rdunlap@infradead.org>
> >>
> >> 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.
> >
> > I wonder if we shouldn't rather provide no-op versions of
> > pci_create|destroy_slot for when SYSFS is not set?
> >
> 
> Makes sense.  I'm test-building that now.
> 
> --
> ~Randy

+ Yuehaibing, who submitted a similar patch, which I guess is neglected
at the end of the discussion last month:

https://lkml.org/lkml/2019/5/31/559
https://lkml.org/lkml/2019/6/14/784
https://lkml.org/lkml/2019/6/15/24

Thanks,
-- Dexuan
Randy Dunlap July 3, 2019, 5:05 a.m. UTC | #4
On 7/2/19 9:33 PM, Dexuan Cui wrote:
>> From: linux-hyperv-owner@vger.kernel.org
>> <linux-hyperv-owner@vger.kernel.org> On Behalf Of Randy Dunlap
>> Sent: Tuesday, July 2, 2019 4:25 PM
>> 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: 4daace0d8ce8 ("PCI: hv: Add paravirtual PCI front-end for Microsoft
>> Hyper-V VMs")
> 
> I think the Fixes tag should be:
> Fixes: a15f2c08c708 ("PCI: hv: support reporting serial number as slot information")
> 
> Thanks,
> -- Dexuan
> 

Thanks.  I did have a little trouble with that.

Patch
diff mbox series

--- lnx-52-rc7.orig/drivers/pci/Kconfig
+++ lnx-52-rc7/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.