Skip to content

Commit 0b32e91

Browse files
arndbkuba-moo
authored andcommitted
ethernet: select CONFIG_CRC32 as needed
A number of ethernet drivers require crc32 functionality to be avaialable in the kernel, causing a link error otherwise: arm-linux-gnueabi-ld: drivers/net/ethernet/agere/et131x.o: in function `et1310_setup_device_for_multicast': et131x.c:(.text+0x5918): undefined reference to `crc32_le' arm-linux-gnueabi-ld: drivers/net/ethernet/cadence/macb_main.o: in function `macb_start_xmit': macb_main.c:(.text+0x4b88): undefined reference to `crc32_le' arm-linux-gnueabi-ld: drivers/net/ethernet/faraday/ftgmac100.o: in function `ftgmac100_set_rx_mode': ftgmac100.c:(.text+0x2b38): undefined reference to `crc32_le' arm-linux-gnueabi-ld: drivers/net/ethernet/freescale/fec_main.o: in function `set_multicast_list': fec_main.c:(.text+0x6120): undefined reference to `crc32_le' arm-linux-gnueabi-ld: drivers/net/ethernet/freescale/fman/fman_dtsec.o: in function `dtsec_add_hash_mac_address': fman_dtsec.c:(.text+0x830): undefined reference to `crc32_le' arm-linux-gnueabi-ld: drivers/net/ethernet/freescale/fman/fman_dtsec.o:fman_dtsec.c:(.text+0xb68): more undefined references to `crc32_le' follow arm-linux-gnueabi-ld: drivers/net/ethernet/netronome/nfp/nfpcore/nfp_hwinfo.o: in function `nfp_hwinfo_read': nfp_hwinfo.c:(.text+0x250): undefined reference to `crc32_be' arm-linux-gnueabi-ld: nfp_hwinfo.c:(.text+0x288): undefined reference to `crc32_be' arm-linux-gnueabi-ld: drivers/net/ethernet/netronome/nfp/nfpcore/nfp_resource.o: in function `nfp_resource_acquire': nfp_resource.c:(.text+0x144): undefined reference to `crc32_be' arm-linux-gnueabi-ld: nfp_resource.c:(.text+0x158): undefined reference to `crc32_be' arm-linux-gnueabi-ld: drivers/net/ethernet/nxp/lpc_eth.o: in function `lpc_eth_set_multicast_list': lpc_eth.c:(.text+0x1934): undefined reference to `crc32_le' arm-linux-gnueabi-ld: drivers/net/ethernet/rocker/rocker_ofdpa.o: in function `ofdpa_flow_tbl_do': rocker_ofdpa.c:(.text+0x2e08): undefined reference to `crc32_le' arm-linux-gnueabi-ld: drivers/net/ethernet/rocker/rocker_ofdpa.o: in function `ofdpa_flow_tbl_del': rocker_ofdpa.c:(.text+0x3074): undefined reference to `crc32_le' arm-linux-gnueabi-ld: drivers/net/ethernet/rocker/rocker_ofdpa.o: in function `ofdpa_port_fdb': arm-linux-gnueabi-ld: drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.o: in function `mlx5dr_ste_calc_hash_index': dr_ste.c:(.text+0x354): undefined reference to `crc32_le' arm-linux-gnueabi-ld: drivers/net/ethernet/microchip/lan743x_main.o: in function `lan743x_netdev_set_multicast': lan743x_main.c:(.text+0x5dc4): undefined reference to `crc32_le' Add the missing 'select CRC32' entries in Kconfig for each of them. Signed-off-by: Arnd Bergmann <[email protected]> Acked-by: Nicolas Ferre <[email protected]> Acked-by: Madalin Bucur <[email protected]> Acked-by: Mark Einon <[email protected]> Acked-by: Simon Horman <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
1 parent 1130b25 commit 0b32e91

File tree

10 files changed

+10
-0
lines changed

10 files changed

+10
-0
lines changed

drivers/net/ethernet/agere/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ config ET131X
2121
tristate "Agere ET-1310 Gigabit Ethernet support"
2222
depends on PCI
2323
select PHYLIB
24+
select CRC32
2425
help
2526
This driver supports Agere ET-1310 ethernet adapters.
2627

drivers/net/ethernet/cadence/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ config MACB
2323
tristate "Cadence MACB/GEM support"
2424
depends on HAS_DMA && COMMON_CLK
2525
select PHYLINK
26+
select CRC32
2627
help
2728
The Cadence MACB ethernet interface is found on many Atmel AT32 and
2829
AT91 parts. This driver also supports the Cadence GEM (Gigabit

drivers/net/ethernet/faraday/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ config FTGMAC100
3333
depends on !64BIT || BROKEN
3434
select PHYLIB
3535
select MDIO_ASPEED if MACH_ASPEED_G6
36+
select CRC32
3637
help
3738
This driver supports the FTGMAC100 Gigabit Ethernet controller
3839
from Faraday. It is used on Faraday A369, Andes AG102 and some

drivers/net/ethernet/freescale/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ config FEC
2525
depends on (M523x || M527x || M5272 || M528x || M520x || M532x || \
2626
ARCH_MXC || SOC_IMX28 || COMPILE_TEST)
2727
default ARCH_MXC || SOC_IMX28 if ARM
28+
select CRC32
2829
select PHYLIB
2930
imply PTP_1588_CLOCK
3031
help

drivers/net/ethernet/freescale/fman/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ config FSL_FMAN
44
depends on FSL_SOC || ARCH_LAYERSCAPE || COMPILE_TEST
55
select GENERIC_ALLOCATOR
66
select PHYLIB
7+
select CRC32
78
default n
89
help
910
Freescale Data-Path Acceleration Architecture Frame Manager

drivers/net/ethernet/mellanox/mlx5/core/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,7 @@ config MLX5_EN_TLS
198198
config MLX5_SW_STEERING
199199
bool "Mellanox Technologies software-managed steering"
200200
depends on MLX5_CORE_EN && MLX5_ESWITCH
201+
select CRC32
201202
default y
202203
help
203204
Build support for software-managed steering in the NIC.

drivers/net/ethernet/microchip/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ config LAN743X
4747
depends on PCI
4848
select PHYLIB
4949
select CRC16
50+
select CRC32
5051
help
5152
Support for the Microchip LAN743x PCI Express Gigabit Ethernet chip
5253

drivers/net/ethernet/netronome/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ config NFP
2222
depends on VXLAN || VXLAN=n
2323
depends on TLS && TLS_DEVICE || TLS_DEVICE=n
2424
select NET_DEVLINK
25+
select CRC32
2526
help
2627
This driver supports the Netronome(R) NFP4000/NFP6000 based
2728
cards working as a advanced Ethernet NIC. It works with both

drivers/net/ethernet/nxp/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ config LPC_ENET
33
tristate "NXP ethernet MAC on LPC devices"
44
depends on ARCH_LPC32XX || COMPILE_TEST
55
select PHYLIB
6+
select CRC32
67
help
78
Say Y or M here if you want to use the NXP ethernet MAC included on
89
some NXP LPC devices. You can safely enable this option for LPC32xx

drivers/net/ethernet/rocker/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ if NET_VENDOR_ROCKER
1919
config ROCKER
2020
tristate "Rocker switch driver (EXPERIMENTAL)"
2121
depends on PCI && NET_SWITCHDEV && BRIDGE
22+
select CRC32
2223
help
2324
This driver supports Rocker switch device.
2425

0 commit comments

Comments
 (0)