[PATCH v2 net-next] net: wangxun: fix VF drivers Kconfig dependencies and help text

From: Randy Dunlap
Date: Sat Jul 12 2025 - 01:59:30 EST


On x86_64, when CONFIG_PTP_1588_CLOCK_OPTIONAL=m,
CONFIG_LIBWX can be set to 'y' by either of TXGBEVF=y or NGBEVF=y,
causing kconfig unmet direct dependencies warning messages:

WARNING: unmet direct dependencies detected for LIBWX
Depends on [m]: NETDEVICES [=y] && ETHERNET [=y] && NET_VENDOR_WANGXUN [=y] && PTP_1588_CLOCK_OPTIONAL [=m]
Selected by [y]:
- TXGBEVF [=y] && NETDEVICES [=y] && ETHERNET [=y] && NET_VENDOR_WANGXUN [=y] && PCI [=y] && PCI_MSI [=y]
- NGBEVF [=y] && NETDEVICES [=y] && ETHERNET [=y] && NET_VENDOR_WANGXUN [=y] && PCI_MSI [=y]

and subsequent build errors:

ld: vmlinux.o: in function `wx_clean_tx_irq':
drivers/net/ethernet/wangxun/libwx/wx_lib.c:757:(.text+0xa48f18): undefined reference to `ptp_schedule_worker'
ld: vmlinux.o: in function `wx_get_ts_info':
drivers/net/ethernet/wangxun/libwx/wx_ethtool.c:509:(.text+0xa4a58c): undefined reference to `ptp_clock_index'
ld: vmlinux.o: in function `wx_ptp_stop':
drivers/net/ethernet/wangxun/libwx/wx_ptp.c:838:(.text+0xa4b3dc): undefined reference to `ptp_clock_unregister'
ld: vmlinux.o: in function `wx_ptp_reset':
drivers/net/ethernet/wangxun/libwx/wx_ptp.c:769:(.text+0xa4b80c): undefined reference to `ptp_schedule_worker'
ld: vmlinux.o: in function `wx_ptp_create_clock':
drivers/net/ethernet/wangxun/libwx/wx_ptp.c:532:(.text+0xa4b9d1): undefined reference to `ptp_clock_register'

Add dependency to PTP_1588_CLOCK_OPTIONAL for both txgbevf and ngbevf.
This is needed since both of them select LIBWX and it depends on
PTP_1588_CLOCK_OPTIONAL.

Drop "depends on PCI" for TXGBEVF since PCI_MSI implies that.
Drop "select PHYLINK" for TXGBEVF since the driver does not use phylink.

Move the driver name help text to the module name help text for
both drivers.

Fixes: 377d180bd71c ("net: wangxun: add txgbevf build")
Fixes: a0008a3658a3 ("net: wangxun: add ngbevf build")
Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
Cc: Jiawen Wu <jiawenwu@xxxxxxxxxxxxxx>
Cc: Mengyuan Lou <mengyuanlou@xxxxxxxxxxxxx>
Cc: netdev@xxxxxxxxxxxxxxx
Cc: Andrew Lunn <andrew+netdev@xxxxxxx>
Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>
Cc: Eric Dumazet <edumazet@xxxxxxxxxx>
Cc: Jakub Kicinski <kuba@xxxxxxxxxx>
Cc: Paolo Abeni <pabeni@xxxxxxxxxx>
---
v2: also drop PHYLINK for TXGBEVF, suggested by Jiawen Wu

drivers/net/ethernet/wangxun/Kconfig | 18 ++++++++----------
1 file changed, 8 insertions(+), 10 deletions(-)

--- linux-next-20250710.orig/drivers/net/ethernet/wangxun/Kconfig
+++ linux-next-20250710/drivers/net/ethernet/wangxun/Kconfig
@@ -66,35 +66,33 @@ config TXGBE

config TXGBEVF
tristate "Wangxun(R) 10/25/40G Virtual Function Ethernet support"
- depends on PCI
depends on PCI_MSI
+ depends on PTP_1588_CLOCK_OPTIONAL
select LIBWX
- select PHYLINK
help
This driver supports virtual functions for SP1000A, WX1820AL,
WX5XXX, WX5XXXAL.

- This driver was formerly named txgbevf.
-
More specific information on configuring the driver is in
<file:Documentation/networking/device_drivers/ethernet/wangxun/txgbevf.rst>.

- To compile this driver as a module, choose M here. MSI-X interrupt
- support is required for this driver to work correctly.
+ To compile this driver as a module, choose M here. The module
+ will be called txgbevf. MSI-X interrupt support is required
+ for this driver to work correctly.

config NGBEVF
tristate "Wangxun(R) GbE Virtual Function Ethernet support"
depends on PCI_MSI
+ depends on PTP_1588_CLOCK_OPTIONAL
select LIBWX
help
This driver supports virtual functions for WX1860, WX1860AL.

- This driver was formerly named ngbevf.
-
More specific information on configuring the driver is in
<file:Documentation/networking/device_drivers/ethernet/wangxun/ngbevf.rst>.

- To compile this driver as a module, choose M here. MSI-X interrupt
- support is required for this driver to work correctly.
+ To compile this driver as a module, choose M here. The module
+ will be called ngbefv. MSI-X interrupt support is required for
+ this driver to work correctly.

endif # NET_VENDOR_WANGXUN