[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20160224.224920.1224016653458748974.davem@davemloft.net>
Date: Wed, 24 Feb 2016 22:49:20 -0500 (EST)
From: David Miller <davem@...emloft.net>
To: Yuval.Mintz@...gic.com
Cc: arnd@...db.de, Ariel.Elior@...gic.com,
linux-arm-kernel@...ts.infradead.org, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] bnx2x: add a separate GENEVE Kconfig symbol
From: Yuval Mintz <Yuval.Mintz@...gic.com>
Date: Tue, 23 Feb 2016 18:33:10 +0000
>> When CONFIG_GENEVE is built as a loadable module, and bnx2x is built-in,
>> we get this link error:
>
>> 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'
>
>> 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.
>
>> This is the same trick that BNX2X does for VXLAN support, and
>> is similar to how I40E handles both.
>
>> Signed-off-by: Arnd Bergmann <arnd@...db.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 <Yuval.Mintz@...gic.com>
Applied, thanks everyone.
Powered by blists - more mailing lists