Re: [PATCH] [net-next] net/mlx5e: select CONFIG_MLXFW

From: Arnd Bergmann
Date: Thu Jun 29 2017 - 03:49:08 EST


On Thu, Jun 29, 2017 at 5:47 AM, Or Gerlitz <gerlitz.or@xxxxxxxxx> wrote:
> On Wed, Jun 28, 2017 at 11:10 PM, Arnd Bergmann <arnd@xxxxxxxx> 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