net/mlxfw: Properly handle dependancy with non-loadable mlx5
authorOr Gerlitz <ogerlitz@mellanox.com>
Sun, 2 Jul 2017 15:57:28 +0000 (18:57 +0300)
committerDavid S. Miller <davem@davemloft.net>
Mon, 3 Jul 2017 09:32:25 +0000 (02:32 -0700)
If mlx5 is set to be built-in and mlxfw as a module, we
get a link error:

drivers/built-in.o: In function `mlx5_firmware_flash':
(.text+0x5aed72): undefined reference to `mlxfw_firmware_flash'

Since we don't want to mandate selecting mlxfw for mlx5 users, we
use the IS_REACHABLE macro to make sure that a stub is exposed
to the caller.

Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Reported-by: Jakub Kicinski <kubakici@wp.pl>
Reported-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlxfw/mlxfw.h

index 9ca85383aa35e64b842b7013bcfa3d07efdd9920..7a712b6b09ec11852444eb8ce2df18823b155be2 100644 (file)
@@ -96,7 +96,7 @@ struct mlxfw_dev {
        u16 psid_size;
 };
 
-#if IS_ENABLED(CONFIG_MLXFW)
+#if IS_REACHABLE(CONFIG_MLXFW)
 int mlxfw_firmware_flash(struct mlxfw_dev *mlxfw_dev,
                         const struct firmware *firmware);
 #else