2021-04-22 13:38:17

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH] net: mana: fix PCI_HYPERV dependency

From: Arnd Bergmann <[email protected]>

The MANA driver causes a build failure in some configurations when
it selects an unavailable symbol:

WARNING: unmet direct dependencies detected for PCI_HYPERV
Depends on [n]: PCI [=y] && X86_64 [=y] && HYPERV [=n] && PCI_MSI [=y] && PCI_MSI_IRQ_DOMAIN [=y] && SYSFS [=y]
Selected by [y]:
- MICROSOFT_MANA [=y] && NETDEVICES [=y] && ETHERNET [=y] && NET_VENDOR_MICROSOFT [=y] && PCI_MSI [=y] && X86_64 [=y]
drivers/pci/controller/pci-hyperv.c: In function 'hv_irq_unmask':
drivers/pci/controller/pci-hyperv.c:1217:9: error: implicit declaration of function 'hv_set_msi_entry_from_desc' [-Werror=implicit-function-declaration]
1217 | hv_set_msi_entry_from_desc(&params->int_entry.msi_entry, msi_desc);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~

A PCI driver should never depend on a particular host bridge
implementation in the first place, but if we have this dependency
it's better to express it as a 'depends on' rather than 'select'.

Signed-off-by: Arnd Bergmann <[email protected]>
---
drivers/net/ethernet/microsoft/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/microsoft/Kconfig b/drivers/net/ethernet/microsoft/Kconfig
index e1ac0a5d808d..fe4e7a7d9c0b 100644
--- a/drivers/net/ethernet/microsoft/Kconfig
+++ b/drivers/net/ethernet/microsoft/Kconfig
@@ -18,7 +18,7 @@ if NET_VENDOR_MICROSOFT
config MICROSOFT_MANA
tristate "Microsoft Azure Network Adapter (MANA) support"
depends on PCI_MSI && X86_64
- select PCI_HYPERV
+ depends on PCI_HYPERV
help
This driver supports Microsoft Azure Network Adapter (MANA).
So far, the driver is only supported on X86_64.
--
2.29.2


2021-04-22 17:30:11

by Dexuan Cui

[permalink] [raw]
Subject: RE: [PATCH] net: mana: fix PCI_HYPERV dependency

> From: Arnd Bergmann <[email protected]>
> Sent: Thursday, April 22, 2021 6:35 AM
> ...
> From: Arnd Bergmann <[email protected]>
>
> The MANA driver causes a build failure in some configurations when
> it selects an unavailable symbol:
>
> WARNING: unmet direct dependencies detected for PCI_HYPERV
> Depends on [n]: PCI [=y] && X86_64 [=y] && HYPERV [=n] && PCI_MSI [=y]
> && PCI_MSI_IRQ_DOMAIN [=y] && SYSFS [=y]
> Selected by [y]:
> - MICROSOFT_MANA [=y] && NETDEVICES [=y] && ETHERNET [=y] &&
> NET_VENDOR_MICROSOFT [=y] && PCI_MSI [=y] && X86_64 [=y]
> drivers/pci/controller/pci-hyperv.c: In function 'hv_irq_unmask':
> drivers/pci/controller/pci-hyperv.c:1217:9: error: implicit declaration of
> function 'hv_set_msi_entry_from_desc'
> [-Werror=implicit-function-declaration]
> 1217 |
> hv_set_msi_entry_from_desc(&params->int_entry.msi_entry, msi_desc);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~
>
> A PCI driver should never depend on a particular host bridge
> implementation in the first place, but if we have this dependency
> it's better to express it as a 'depends on' rather than 'select'.
>
> Signed-off-by: Arnd Bergmann <[email protected]>

Reviewed-by: Dexuan Cui <[email protected]>

2021-04-22 20:32:19

by patchwork-bot+netdevbpf

[permalink] [raw]
Subject: Re: [PATCH] net: mana: fix PCI_HYPERV dependency

Hello:

This patch was applied to netdev/net-next.git (refs/heads/master):

On Thu, 22 Apr 2021 15:34:34 +0200 you wrote:
> From: Arnd Bergmann <[email protected]>
>
> The MANA driver causes a build failure in some configurations when
> it selects an unavailable symbol:
>
> WARNING: unmet direct dependencies detected for PCI_HYPERV
> Depends on [n]: PCI [=y] && X86_64 [=y] && HYPERV [=n] && PCI_MSI [=y] && PCI_MSI_IRQ_DOMAIN [=y] && SYSFS [=y]
> Selected by [y]:
> - MICROSOFT_MANA [=y] && NETDEVICES [=y] && ETHERNET [=y] && NET_VENDOR_MICROSOFT [=y] && PCI_MSI [=y] && X86_64 [=y]
> drivers/pci/controller/pci-hyperv.c: In function 'hv_irq_unmask':
> drivers/pci/controller/pci-hyperv.c:1217:9: error: implicit declaration of function 'hv_set_msi_entry_from_desc' [-Werror=implicit-function-declaration]
> 1217 | hv_set_msi_entry_from_desc(&params->int_entry.msi_entry, msi_desc);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~
>
> [...]

Here is the summary with links:
- net: mana: fix PCI_HYPERV dependency
https://git.kernel.org/netdev/net-next/c/45b102dd8149

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html