PCI: pci-hyperv: fix build errors on non-SYSFS config
diff mbox series

Message ID abbe8012-1e6f-bdea-1454-5c59ccbced3d@infradead.org
State Accepted
Commit f58ba5e3f6863ea4486952698898848a6db726c2
Headers show
Series
  • PCI: pci-hyperv: fix build errors on non-SYSFS config
Related show

Commit Message

Randy Dunlap July 12, 2019, 3:53 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: a15f2c08c708 ("PCI: hv: support reporting serial number as slot
information")

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: Stephen Hemminger <stephen@networkplumber.org>
Cc: Sasha Levin <sashal@kernel.org>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: linux-pci@vger.kernel.org
Cc: linux-hyperv@vger.kernel.org
Cc: Dexuan Cui <decui@microsoft.com>
---
v3: corrected Fixes: tag [Dexuan Cui <decui@microsoft.com>]
    This is the Microsoft-preferred version of the patch.

 drivers/pci/Kconfig |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Haiyang Zhang July 12, 2019, 4:04 p.m. UTC | #1
> -----Original Message-----
> From: Randy Dunlap <rdunlap@infradead.org>
> Sent: Friday, July 12, 2019 11:53 AM
> To: linux-pci <linux-pci@vger.kernel.org>; LKML <linux-
> kernel@vger.kernel.org>
> Cc: Matthew Wilcox <willy@infradead.org>; Jake Oshins
> <jakeo@microsoft.com>; KY Srinivasan <kys@microsoft.com>; Haiyang
> Zhang <haiyangz@microsoft.com>; Stephen Hemminger
> <sthemmin@microsoft.com>; Stephen Hemminger
> <stephen@networkplumber.org>; Sasha Levin <sashal@kernel.org>; Bjorn
> Helgaas <bhelgaas@google.com>; Dexuan Cui <decui@microsoft.com>
> Subject: [PATCH] PCI: pci-hyperv: fix build errors on non-SYSFS config
> 
> 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: a15f2c08c708 ("PCI: hv: support reporting serial number as slot
> information")
> 
> 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: Stephen Hemminger <stephen@networkplumber.org>
> Cc: Sasha Levin <sashal@kernel.org>
> Cc: Bjorn Helgaas <bhelgaas@google.com>
> Cc: linux-pci@vger.kernel.org
> Cc: linux-hyperv@vger.kernel.org
> Cc: Dexuan Cui <decui@microsoft.com>
> ---
> v3: corrected Fixes: tag [Dexuan Cui <decui@microsoft.com>]
>     This is the Microsoft-preferred version of the patch.
> 
>  drivers/pci/Kconfig |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> --- 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.
> 

Reviewed-by: Haiyang Zhang <haiyangz@microsoft.com>
Sasha Levin July 13, 2019, 3:03 p.m. UTC | #2
On Fri, Jul 12, 2019 at 04:04:17PM +0000, Haiyang Zhang wrote:
>
>
>> -----Original Message-----
>> From: Randy Dunlap <rdunlap@infradead.org>
>> Sent: Friday, July 12, 2019 11:53 AM
>> To: linux-pci <linux-pci@vger.kernel.org>; LKML <linux-
>> kernel@vger.kernel.org>
>> Cc: Matthew Wilcox <willy@infradead.org>; Jake Oshins
>> <jakeo@microsoft.com>; KY Srinivasan <kys@microsoft.com>; Haiyang
>> Zhang <haiyangz@microsoft.com>; Stephen Hemminger
>> <sthemmin@microsoft.com>; Stephen Hemminger
>> <stephen@networkplumber.org>; Sasha Levin <sashal@kernel.org>; Bjorn
>> Helgaas <bhelgaas@google.com>; Dexuan Cui <decui@microsoft.com>
>> Subject: [PATCH] PCI: pci-hyperv: fix build errors on non-SYSFS config
>>
>> 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: a15f2c08c708 ("PCI: hv: support reporting serial number as slot
>> information")
>>
>> 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: Stephen Hemminger <stephen@networkplumber.org>
>> Cc: Sasha Levin <sashal@kernel.org>
>> Cc: Bjorn Helgaas <bhelgaas@google.com>
>> Cc: linux-pci@vger.kernel.org
>> Cc: linux-hyperv@vger.kernel.org
>> Cc: Dexuan Cui <decui@microsoft.com>
>> ---
>> v3: corrected Fixes: tag [Dexuan Cui <decui@microsoft.com>]
>>     This is the Microsoft-preferred version of the patch.
>>
>>  drivers/pci/Kconfig |    2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> --- 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.
>>
>
>Reviewed-by: Haiyang Zhang <haiyangz@microsoft.com>

Queued up for hyperv-fixes, thank you!

--
Thanks,
Sasha
Bjorn Helgaas July 23, 2019, 9:21 p.m. UTC | #3
On Sat, Jul 13, 2019 at 11:03:53AM -0400, Sasha Levin wrote:
> On Fri, Jul 12, 2019 at 04:04:17PM +0000, Haiyang Zhang wrote:
> > > -----Original Message-----
> > > From: Randy Dunlap <rdunlap@infradead.org>
> > > Sent: Friday, July 12, 2019 11:53 AM
> > > To: linux-pci <linux-pci@vger.kernel.org>; LKML <linux-
> > > kernel@vger.kernel.org>
> > > Cc: Matthew Wilcox <willy@infradead.org>; Jake Oshins
> > > <jakeo@microsoft.com>; KY Srinivasan <kys@microsoft.com>; Haiyang
> > > Zhang <haiyangz@microsoft.com>; Stephen Hemminger
> > > <sthemmin@microsoft.com>; Stephen Hemminger
> > > <stephen@networkplumber.org>; Sasha Levin <sashal@kernel.org>; Bjorn
> > > Helgaas <bhelgaas@google.com>; Dexuan Cui <decui@microsoft.com>
> > > Subject: [PATCH] PCI: pci-hyperv: fix build errors on non-SYSFS config

Whoever merges this (see below), please update the subject line to
match:

  $ git log --oneline drivers/pci/controller/pci-hyperv.c | head -5
  4df591b20b80 PCI: hv: Fix a use-after-free bug in hv_eject_device_work()
  340d45569940 PCI: hv: Add pci_destroy_slot() in pci_devices_present_work(), if necessary
  15becc2b56c6 PCI: hv: Add hv_pci_remove_slots() when we unload the driver
  05f151a73ec2 PCI: hv: Fix a memory leak in hv_eject_device_work()
  c8ccf7599dda PCI: hv: Refactor hv_irq_unmask() to use cpumask_to_vpset()

> > > 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: a15f2c08c708 ("PCI: hv: support reporting serial number as slot
> > > information")
> > > 
> > > 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: Stephen Hemminger <stephen@networkplumber.org>
> > > Cc: Sasha Levin <sashal@kernel.org>
> > > Cc: Bjorn Helgaas <bhelgaas@google.com>
> > > Cc: linux-pci@vger.kernel.org
> > > Cc: linux-hyperv@vger.kernel.org
> > > Cc: Dexuan Cui <decui@microsoft.com>
> > > ---
> > > v3: corrected Fixes: tag [Dexuan Cui <decui@microsoft.com>]
> > >     This is the Microsoft-preferred version of the patch.
> > > 
> > >  drivers/pci/Kconfig |    2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > --- 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.
> > > 
> > 
> > Reviewed-by: Haiyang Zhang <haiyangz@microsoft.com>
> 
> Queued up for hyperv-fixes, thank you!

What merge strategy do you envision for this?  Previous
drivers/pci/controller/pci-hyperv.c changes have generally been merged
by Lorenzo and incorporated into my PCI tree.

This particular patch doesn't actually touch pci-hyperv.c; it touches
drivers/pci/Kconfig, so should somehow be coordinated with me.

Does this need to be tagged for stable?  a15f2c08c708 appeared in
v4.19, so my first guess is that it's not stable material.

Bjorn
Lorenzo Pieralisi Aug. 7, 2019, 3:06 p.m. UTC | #4
On Tue, Jul 23, 2019 at 04:21:07PM -0500, Bjorn Helgaas wrote:
> On Sat, Jul 13, 2019 at 11:03:53AM -0400, Sasha Levin wrote:
> > On Fri, Jul 12, 2019 at 04:04:17PM +0000, Haiyang Zhang wrote:
> > > > -----Original Message-----
> > > > From: Randy Dunlap <rdunlap@infradead.org>
> > > > Sent: Friday, July 12, 2019 11:53 AM
> > > > To: linux-pci <linux-pci@vger.kernel.org>; LKML <linux-
> > > > kernel@vger.kernel.org>
> > > > Cc: Matthew Wilcox <willy@infradead.org>; Jake Oshins
> > > > <jakeo@microsoft.com>; KY Srinivasan <kys@microsoft.com>; Haiyang
> > > > Zhang <haiyangz@microsoft.com>; Stephen Hemminger
> > > > <sthemmin@microsoft.com>; Stephen Hemminger
> > > > <stephen@networkplumber.org>; Sasha Levin <sashal@kernel.org>; Bjorn
> > > > Helgaas <bhelgaas@google.com>; Dexuan Cui <decui@microsoft.com>
> > > > Subject: [PATCH] PCI: pci-hyperv: fix build errors on non-SYSFS config
> 
> Whoever merges this (see below), please update the subject line to
> match:
> 
>   $ git log --oneline drivers/pci/controller/pci-hyperv.c | head -5
>   4df591b20b80 PCI: hv: Fix a use-after-free bug in hv_eject_device_work()
>   340d45569940 PCI: hv: Add pci_destroy_slot() in pci_devices_present_work(), if necessary
>   15becc2b56c6 PCI: hv: Add hv_pci_remove_slots() when we unload the driver
>   05f151a73ec2 PCI: hv: Fix a memory leak in hv_eject_device_work()
>   c8ccf7599dda PCI: hv: Refactor hv_irq_unmask() to use cpumask_to_vpset()
> 
> > > > 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: a15f2c08c708 ("PCI: hv: support reporting serial number as slot
> > > > information")
> > > > 
> > > > 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: Stephen Hemminger <stephen@networkplumber.org>
> > > > Cc: Sasha Levin <sashal@kernel.org>
> > > > Cc: Bjorn Helgaas <bhelgaas@google.com>
> > > > Cc: linux-pci@vger.kernel.org
> > > > Cc: linux-hyperv@vger.kernel.org
> > > > Cc: Dexuan Cui <decui@microsoft.com>
> > > > ---
> > > > v3: corrected Fixes: tag [Dexuan Cui <decui@microsoft.com>]
> > > >     This is the Microsoft-preferred version of the patch.
> > > > 
> > > >  drivers/pci/Kconfig |    2 +-
> > > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > > 
> > > > --- 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.
> > > > 
> > > 
> > > Reviewed-by: Haiyang Zhang <haiyangz@microsoft.com>
> > 
> > Queued up for hyperv-fixes, thank you!
> 
> What merge strategy do you envision for this?  Previous
> drivers/pci/controller/pci-hyperv.c changes have generally been merged
> by Lorenzo and incorporated into my PCI tree.
> 
> This particular patch doesn't actually touch pci-hyperv.c; it touches
> drivers/pci/Kconfig, so should somehow be coordinated with me.
> 
> Does this need to be tagged for stable?  a15f2c08c708 appeared in
> v4.19, so my first guess is that it's not stable material.

AFAIC Bjorn's question still stands. Who will pick this patch up ?

Thanks,
Lorenzo
Sasha Levin Aug. 8, 2019, 1:27 a.m. UTC | #5
On Wed, Aug 07, 2019 at 04:06:54PM +0100, Lorenzo Pieralisi wrote:
>On Tue, Jul 23, 2019 at 04:21:07PM -0500, Bjorn Helgaas wrote:
>> On Sat, Jul 13, 2019 at 11:03:53AM -0400, Sasha Levin wrote:
>> > Queued up for hyperv-fixes, thank you!
>>
>> What merge strategy do you envision for this?  Previous
>> drivers/pci/controller/pci-hyperv.c changes have generally been merged
>> by Lorenzo and incorporated into my PCI tree.
>>
>> This particular patch doesn't actually touch pci-hyperv.c; it touches
>> drivers/pci/Kconfig, so should somehow be coordinated with me.
>>
>> Does this need to be tagged for stable?  a15f2c08c708 appeared in
>> v4.19, so my first guess is that it's not stable material.
>
>AFAIC Bjorn's question still stands. Who will pick this patch up ?

Would it be easier if I just ignored Hyper-V PCI patches?

--
Thanks,
Sasha
Lorenzo Pieralisi Aug. 8, 2019, 10:13 a.m. UTC | #6
On Wed, Aug 07, 2019 at 09:27:45PM -0400, Sasha Levin wrote:
> On Wed, Aug 07, 2019 at 04:06:54PM +0100, Lorenzo Pieralisi wrote:
> > On Tue, Jul 23, 2019 at 04:21:07PM -0500, Bjorn Helgaas wrote:
> > > On Sat, Jul 13, 2019 at 11:03:53AM -0400, Sasha Levin wrote:
> > > > Queued up for hyperv-fixes, thank you!
> > > 
> > > What merge strategy do you envision for this?  Previous
> > > drivers/pci/controller/pci-hyperv.c changes have generally been merged
> > > by Lorenzo and incorporated into my PCI tree.
> > > 
> > > This particular patch doesn't actually touch pci-hyperv.c; it touches
> > > drivers/pci/Kconfig, so should somehow be coordinated with me.
> > > 
> > > Does this need to be tagged for stable?  a15f2c08c708 appeared in
> > > v4.19, so my first guess is that it's not stable material.
> > 
> > AFAIC Bjorn's question still stands. Who will pick this patch up ?
> 
> Would it be easier if I just ignored Hyper-V PCI patches?

I think it probably would, yes. Actually this patch does not even
fall within "Hyper-V CORE AND DRIVERS" maintainers entry.

As for drivers/pci/controller/pci-hyperv.c, for urgent fixes
I understand it is easier for you to pull them I would still ask
you please to sync with me before pulling them.

Thanks,
Lorenzo
Lorenzo Pieralisi Aug. 14, 2019, 10:14 a.m. UTC | #7
On Tue, Jul 23, 2019 at 04:21:07PM -0500, Bjorn Helgaas wrote:
> On Sat, Jul 13, 2019 at 11:03:53AM -0400, Sasha Levin wrote:

[...]

> > > > v3: corrected Fixes: tag [Dexuan Cui <decui@microsoft.com>]
> > > >     This is the Microsoft-preferred version of the patch.
> > > > 
> > > >  drivers/pci/Kconfig |    2 +-
> > > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > > 
> > > > --- 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.
> > > > 
> > > 
> > > Reviewed-by: Haiyang Zhang <haiyangz@microsoft.com>
> > 
> > Queued up for hyperv-fixes, thank you!
> 
> What merge strategy do you envision for this?  Previous
> drivers/pci/controller/pci-hyperv.c changes have generally been merged
> by Lorenzo and incorporated into my PCI tree.
> 
> This particular patch doesn't actually touch pci-hyperv.c; it touches
> drivers/pci/Kconfig, so should somehow be coordinated with me.

Bjorn please let me know if you can pick this up or I should, thanks.

Lorenzo

> Does this need to be tagged for stable?  a15f2c08c708 appeared in
> v4.19, so my first guess is that it's not stable material.
> 
> Bjorn
Bjorn Helgaas Aug. 14, 2019, 3:58 p.m. UTC | #8
On Wed, Aug 14, 2019 at 11:14:09AM +0100, Lorenzo Pieralisi wrote:
> On Tue, Jul 23, 2019 at 04:21:07PM -0500, Bjorn Helgaas wrote:
> > On Sat, Jul 13, 2019 at 11:03:53AM -0400, Sasha Levin wrote:
> 
> [...]
> 
> > > > > v3: corrected Fixes: tag [Dexuan Cui <decui@microsoft.com>]
> > > > >     This is the Microsoft-preferred version of the patch.
> > > > > 
> > > > >  drivers/pci/Kconfig |    2 +-
> > > > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > > > 
> > > > > --- 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.
> > > > > 
> > > > 
> > > > Reviewed-by: Haiyang Zhang <haiyangz@microsoft.com>
> > > 
> > > Queued up for hyperv-fixes, thank you!
> > 
> > What merge strategy do you envision for this?  Previous
> > drivers/pci/controller/pci-hyperv.c changes have generally been merged
> > by Lorenzo and incorporated into my PCI tree.
> > 
> > This particular patch doesn't actually touch pci-hyperv.c; it touches
> > drivers/pci/Kconfig, so should somehow be coordinated with me.
> 
> Bjorn please let me know if you can pick this up or I should, thanks.

Would you mind picking it up?  Then we can sort of keep all the
Hyper-V-related changes together.
Lorenzo Pieralisi Aug. 15, 2019, 10:47 a.m. UTC | #9
On Fri, Jul 12, 2019 at 08:53:19AM -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.
> 
> 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@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: Stephen Hemminger <stephen@networkplumber.org>
> Cc: Sasha Levin <sashal@kernel.org>
> Cc: Bjorn Helgaas <bhelgaas@google.com>
> Cc: linux-pci@vger.kernel.org
> Cc: linux-hyperv@vger.kernel.org
> Cc: Dexuan Cui <decui@microsoft.com>
> ---
> v3: corrected Fixes: tag [Dexuan Cui <decui@microsoft.com>]
>     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.
> 
>
Randy Dunlap Aug. 15, 2019, 3:14 p.m. UTC | #10
On 8/15/19 3:47 AM, Lorenzo Pieralisi wrote:
> On Fri, Jul 12, 2019 at 08:53:19AM -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.
>>
>> 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.

Thanks.

> 
>> 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: Stephen Hemminger <stephen@networkplumber.org>
>> Cc: Sasha Levin <sashal@kernel.org>
>> Cc: Bjorn Helgaas <bhelgaas@google.com>
>> Cc: linux-pci@vger.kernel.org
>> Cc: linux-hyperv@vger.kernel.org
>> Cc: Dexuan Cui <decui@microsoft.com>
>> ---
>> v3: corrected Fixes: tag [Dexuan Cui <decui@microsoft.com>]
>>     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.
>>
>>

Patch
diff mbox series

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