net/mlx5: Reduce kconfig complexity while building crypto support
authorLeon Romanovsky <leonro@nvidia.com>
Wed, 6 Apr 2022 08:25:50 +0000 (11:25 +0300)
committerLeon Romanovsky <leonro@nvidia.com>
Sat, 9 Apr 2022 05:25:07 +0000 (08:25 +0300)
Both IPsec and kTLS need two functions declared in the lib/crypto.c
file. These functions are advertised through general mlx5.h file and
don't have any protection from attempts to call them without proper
config option.

Instead of creating stubs just for two functions, simply build that *.c
file as part of regular mlx5_eth build and rely on compiler to throw
them away if no callers exist in produced code.

Link: https://lore.kernel.org/r/37f02171da06886c1b403d44dd18b2a56b19219d.1649232994.git.leonro@nvidia.com
Reviewed-by: Raed Salem <raeds@nvidia.com>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
drivers/net/ethernet/mellanox/mlx5/core/Kconfig
drivers/net/ethernet/mellanox/mlx5/core/Makefile

index 176883c..bfc0cd5 100644 (file)
@@ -16,9 +16,6 @@ config MLX5_CORE
          Core driver for low level functionality of the ConnectX-4 and
          Connect-IB cards by Mellanox Technologies.
 
-config MLX5_ACCEL
-       bool
-
 config MLX5_FPGA
        bool "Mellanox Technologies Innova support"
        depends on MLX5_CORE
@@ -147,7 +144,6 @@ config MLX5_EN_IPSEC
        depends on MLX5_CORE_EN
        depends on XFRM_OFFLOAD
        depends on INET_ESP_OFFLOAD || INET6_ESP_OFFLOAD
-       select MLX5_ACCEL
        help
          Build support for IPsec cryptography-offload acceleration in the NIC.
 
@@ -156,7 +152,6 @@ config MLX5_EN_TLS
        depends on TLS_DEVICE
        depends on TLS=y || MLX5_CORE=m
        depends on MLX5_CORE_EN
-       select MLX5_ACCEL
        help
        Build support for TLS cryptography-offload acceleration in the NIC.
 
index f7aafbf..81620c2 100644 (file)
@@ -28,7 +28,7 @@ mlx5_core-$(CONFIG_MLX5_CORE_EN) += en/rqt.o en/tir.o en/rss.o en/rx_res.o \
                en_selftest.o en/port.o en/monitor_stats.o en/health.o \
                en/reporter_tx.o en/reporter_rx.o en/params.o en/xsk/pool.o \
                en/xsk/setup.o en/xsk/rx.o en/xsk/tx.o en/devlink.o en/ptp.o \
-               en/qos.o en/trap.o en/fs_tt_redirect.o en/selq.o
+               en/qos.o en/trap.o en/fs_tt_redirect.o en/selq.o lib/crypto.o
 
 #
 # Netdev extra
@@ -88,8 +88,6 @@ mlx5_core-$(CONFIG_MLX5_CORE_IPOIB) += ipoib/ipoib.o ipoib/ethtool.o ipoib/ipoib
 #
 # Accelerations & FPGA
 #
-mlx5_core-$(CONFIG_MLX5_ACCEL) += lib/crypto.o
-
 mlx5_core-$(CONFIG_MLX5_FPGA) += fpga/cmd.o fpga/core.o fpga/conn.o fpga/sdk.o
 
 mlx5_core-$(CONFIG_MLX5_EN_IPSEC) += en_accel/ipsec.o en_accel/ipsec_rxtx.o \