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 Cc: Jiawen Wu Cc: Mengyuan Lou Cc: netdev@vger.kernel.org Cc: Andrew Lunn Cc: "David S. Miller" Cc: Eric Dumazet Cc: Jakub Kicinski Cc: Paolo Abeni --- 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 . - 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 . - 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