Message ID | 20170628201032.3178691-1-arnd@arndb.de |
---|---|
State | New |
Headers | show |
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 --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
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