RE: [PATCH net-next v9 5/9] net: txgbe: Add SFP module identify
From: Jiawen Wu <jiawenwu@trustnetic.com>
Date: 2023-05-31 09:21:22
Also in:
linux-gpio, linux-i2c, oe-kbuild-all
On Tuesday, May 30, 2023 4:41 PM, Jiawen Wu wrote:
On Monday, May 29, 2023 10:06 AM, Jiawen Wu wrote:quoted
On Friday, May 26, 2023 7:37 PM, Russell King (Oracle) wrote:quoted
On Fri, May 26, 2023 at 07:30:45PM +0800, kernel test robot wrote:quoted
Kconfig warnings: (for reference only) WARNING: unmet direct dependencies detected for I2C_DESIGNWARE_PLATFORM Depends on [n]: I2C [=n] && HAS_IOMEM [=y] && (ACPI && COMMON_CLK [=y] || !ACPI) Selected by [y]: - TXGBE [=y] && NETDEVICES [=y] && ETHERNET [=y] && NET_VENDOR_WANGXUN [=y] && PCI [=y] WARNING: unmet direct dependencies detected for SFP Depends on [n]: NETDEVICES [=y] && PHYLIB [=y] && I2C [=n] && PHYLINK [=y] && (HWMON [=n] || HWMON [=n]=n) Selected by [y]: - TXGBE [=y] && NETDEVICES [=y] && ETHERNET [=y] && NET_VENDOR_WANGXUN [=y] && PCI [=y]... and is basically caused by "select SFP". No. Do not do this unless you look at the dependencies for SFP and ensure that those are also satisfied - because if you don't you create messes like the above build errors.So how do I make sure that the module I need compiles and loads correctly, rely on the user to manually select it?When I changed the TXGBE config to: ... depends on SFP select PCS_XPCS ... the compilation gave an error: drivers/net/phy/Kconfig:16:error: recursive dependency detected! drivers/net/phy/Kconfig:16: symbol PHYLIB is selected by PHYLINK drivers/net/phy/Kconfig:6: symbol PHYLINK is selected by PCS_XPCS drivers/net/pcs/Kconfig:8: symbol PCS_XPCS is selected by TXGBE drivers/net/ethernet/wangxun/Kconfig:40: symbol TXGBE depends on SFP drivers/net/phy/Kconfig:63: symbol SFP depends on PHYLIB For a resolution refer to Documentation/kbuild/kconfig-language.rst subsection "Kconfig recursive dependency limitations" Seems deleting "depends on SFP" is the correct way. But is this normal? How do we ensure the dependency between TXGBE and SFP?
Hi Russell, Could you please give me some suggestions? I checked "kconfig-language" doc, the practical solution is that swap all "select FOO" to "depends on FOO" or swap all "depends on FOO" to "select FOO". Config PCS_XPCS has to be selected in order to load modules properly, so how should I fix the warning?