Thread (3 messages) flat view 3 messages, 3 authors, 2016-02-25

Re: [PATCH] bnx2x: add a separate GENEVE Kconfig symbol

From: David Miller <davem@davemloft.net>
Date: 2016-02-25 03:49:24
Also in: linux-arm-kernel, lkml

From: Yuval Mintz <redacted>
Date: Tue, 23 Feb 2016 18:33:10 +0000
quoted
When CONFIG_GENEVE is built as a loadable module, and bnx2x is built-in,
we get this link error:
quoted
drivers/net/built-in.o: In function `bnx2x_open':
:(.text+0x33322): undefined reference to `geneve_get_rx_port'
drivers/net/built-in.o: In function `bnx2x_sp_rtnl_task':
:(.text+0x3e632): undefined reference to `geneve_get_rx_port'
quoted
This avoids the problem by adding a separate Kconfig symbol named
CONFIG_BNX2X_GENEVE that is only enabled when the code is
reachable from the driver.
quoted
This is the same trick that BNX2X does for VXLAN support, and
is similar to how I40E handles both.
quoted
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: 883ce97d25b0 ("bnx2x: Add Geneve inner-RSS support")
Ouch. Thanks for fixing this one; I tried avoiding this solution
since I don't think there's any reason to encumber the config
file with needless options [I.e., what's the gain in the ability to
disable a single offloaded protocol on a single network driver?],
but obviously, I botched the job.

BTW, if you want to handle this exactly like vxlan, you might
consider using `defined(CONFIG_BNX2X_GENEVE)' instead of
`IS_ENABLED(CONFIG_BNX2X_GENEVE)'  [It not a tristate].
But that's truly insignificant.

Acked-By: Yuval Mintz <redacted>
Applied, thanks everyone.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help