diff mbox

[net-next] net/mlx5e: select CONFIG_MLXFW

Message ID 20170628201032.3178691-1-arnd@arndb.de
State New
Headers show

Commit Message

Arnd Bergmann June 28, 2017, 8:10 p.m. UTC
With the introduction of mlx5 firmware flash support, we get a link
error with CONFIG_MLXFW=m and CONFIG_MLX5_CORE=y:

drivers/net/ethernet/mellanox/mlx5/core/fw.o: In function `mlx5_firmware_flash':
fw.c:(.text+0x9d4): undefined reference to `mlxfw_firmware_flash'

We could have a more elaborate method to force MLX5 to be a loadable
module in this case, but the easiest fix seems to be to always enable
MLXFW as well, like we do for CONFIG_MLXSW_SPECTRUM, which is the other
user of mlxfw_firmware_flash.

Fixes: 3ffaabecd1a1 ("net/mlx5e: Support the flash device ethtool callback")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

---
 drivers/net/ethernet/mellanox/mlx5/core/Kconfig | 1 +
 1 file changed, 1 insertion(+)

-- 
2.9.0

Comments

Arnd Bergmann June 29, 2017, 7:48 a.m. UTC | #1
On Thu, Jun 29, 2017 at 5:47 AM, Or Gerlitz <gerlitz.or@gmail.com> wrote:
> On Wed, Jun 28, 2017 at 11:10 PM, Arnd Bergmann <arnd@arndb.de> wrote:

>> With the introduction of mlx5 firmware flash support, we get a link

>> error with CONFIG_MLXFW=m and CONFIG_MLX5_CORE=y:

>>

>> drivers/net/ethernet/mellanox/mlx5/core/fw.o: In function `mlx5_firmware_flash':

>> fw.c:(.text+0x9d4): undefined reference to `mlxfw_firmware_flash'

>

> Thanks Arnd, I got a report on that from Jakub but you were before me here..

>

>> We could have a more elaborate method to force MLX5 to be a loadable

>> module in this case, but the easiest fix seems to be to always enable

>> MLXFW as well, like we do for CONFIG_MLXSW_SPECTRUM, which is the other

>> user of mlxfw_firmware_flash.

>

> We would not want to force mlx5 users to build mlxfw.

>

> So lets either use the more elaborate method or maybe instead of using

> IS_ENABLED in mlxfw.h use IS_REACHABLE (this was suggested by Jakub)


Sure, that works. I generally try to avoid IS_REACHABLE(), as I find it more
confusing than adding a dependency like

           depends on MLXFW || MLXFW=n

(and yes, I was the one who introduced IS_REACHABLE() ;-) ).

      Arnd
diff mbox

Patch

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/Kconfig b/drivers/net/ethernet/mellanox/mlx5/core/Kconfig
index cf1ef48bfd8d..09edee060b03 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/Kconfig
+++ b/drivers/net/ethernet/mellanox/mlx5/core/Kconfig
@@ -6,6 +6,7 @@  config MLX5_CORE
 	tristate "Mellanox Technologies ConnectX-4 and Connect-IB core driver"
 	depends on MAY_USE_DEVLINK
 	depends on PCI
+	select MLXFW
 	default n
 	---help---
 	  Core driver for low level functionality of the ConnectX-4 and