On Fri, 2019-01-04 at 15:09 +0000, Steve Douthit wrote: > On 1/3/19 7:55 PM, Jeff Kirsher wrote: > > I initially tried that, but we get a recursive Kconfig dependency > > error > > when IPSec is enabled as well, which I noted in the commit message. > I'm not running into the dependency issue you mention in my own > testing > of the 'select PHYLIB' patch. All of the following configurations > build > for me with no issues: > > 0 1 2 3 4 5 > CONFIG_IXGBE m m m m y y > CONFIG_IXGBE_IPSEC n y n y n y > CONFIG_MDIO_BUS m m y y y y > CONFIG_PHYLIB m m y y y y > > I also confirmed that I can't have CONFIG_MDIO_BUS=m and > CONFIG_IXGBE=y. > Setting CONFIG_IXGBE=y forces CONFIG_MDIO_BUS=y. > > Base config I started with is here: https://pastebin.com/yFsiRRQZ > That's the config 0 from above, the only diff to the other configs > was > to set the appropriate symbol to 'y'. > > I also tested against the config Dave posted (accepting fixdep > defaults) > and that also worked. > > What am I missing here? > > Can you post the config you were using that had the dependency > problem > with CONFIG_IXGBE_IPSEC?
I was using 'make allmodconfig' and then altering CONFIG_IXGBE=y to get the error, but it appears that you are correct. Using select PHYLIB or imply PHYLIB does resolve the problem. I am wondering through all the iterations of testing, I somehow missed using either of those. I swore I had tested those and got this error: drivers/dma/Kconfig:5:error: recursive dependency detected! drivers/dma/Kconfig:5: symbol DMADEVICES is selected by CRYPTO_DEV_SP_CCP drivers/crypto/ccp/Kconfig:9: symbol CRYPTO_DEV_SP_CCP depends on CRYPTO crypto/Kconfig:16: symbol CRYPTO is selected by XFRM_ALGO net/xfrm/Kconfig:13: symbol XFRM_ALGO is selected by IXGBE_IPSEC drivers/net/ethernet/intel/Kconfig:204: symbol IXGBE_IPSEC depends on IXGBE drivers/net/ethernet/intel/Kconfig:158: symbol IXGBE depends on PHYLIB drivers/net/phy/Kconfig:181: symbol PHYLIB is selected by ARC_EMAC_CORE drivers/net/ethernet/arc/Kconfig:18: symbol ARC_EMAC_CORE is selected by ARC_EMAC drivers/net/ethernet/arc/Kconfig:24: symbol ARC_EMAC depends on OF_IRQ drivers/of/Kconfig:68: symbol OF_IRQ depends on IRQ_DOMAIN kernel/irq/Kconfig:63: symbol IRQ_DOMAIN is selected by IRQ_DOMAIN_HIERARCHY kernel/irq/Kconfig:72: symbol IRQ_DOMAIN_HIERARCHY is selected by GENERIC_MSI_IRQ_DOMAIN kernel/irq/Kconfig:89: symbol GENERIC_MSI_IRQ_DOMAIN is selected by MV_XOR_V2 drivers/dma/Kconfig:379: symbol MV_XOR_V2 depends on DMADEVICES For a resolution refer to Documentation/kbuild/kconfig-language.txt subsection "Kconfig recursive dependency limitations" make[2]: *** [scripts/kconfig/Makefile:69: syncconfig] Error 1 make[1]: *** [Makefile:544: syncconfig] Error 2 make: *** [Makefile:640: include/config/auto.conf] Error 2 But now I only get that when I use: depends on PHYLIB Since you suggestion is much simply, I will go with your suggestion. Expect a v3, with your simplified solution.
signature.asc
Description: This is a digitally signed message part