Commit 0b32e91f authored by Arnd Bergmann's avatar Arnd Bergmann Committed by Jakub Kicinski

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: default avatarArnd Bergmann <arnd@arndb.de>
Acked-by: default avatarNicolas Ferre <nicolas.ferre@microchip.com>
Acked-by: default avatarMadalin Bucur <madalin.bucur@oss.nxp.com>
Acked-by: default avatarMark Einon <mark.einon@gmail.com>
Acked-by: default avatarSimon Horman <simon.horman@netronome.com>
Link: https://lore.kernel.org/r/20201203232114.1485603-1-arnd@kernel.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 1130b252
...@@ -21,6 +21,7 @@ config ET131X ...@@ -21,6 +21,7 @@ config ET131X
tristate "Agere ET-1310 Gigabit Ethernet support" tristate "Agere ET-1310 Gigabit Ethernet support"
depends on PCI depends on PCI
select PHYLIB select PHYLIB
select CRC32
help help
This driver supports Agere ET-1310 ethernet adapters. This driver supports Agere ET-1310 ethernet adapters.
......
...@@ -23,6 +23,7 @@ config MACB ...@@ -23,6 +23,7 @@ config MACB
tristate "Cadence MACB/GEM support" tristate "Cadence MACB/GEM support"
depends on HAS_DMA && COMMON_CLK depends on HAS_DMA && COMMON_CLK
select PHYLINK select PHYLINK
select CRC32
help help
The Cadence MACB ethernet interface is found on many Atmel AT32 and The Cadence MACB ethernet interface is found on many Atmel AT32 and
AT91 parts. This driver also supports the Cadence GEM (Gigabit AT91 parts. This driver also supports the Cadence GEM (Gigabit
......
...@@ -33,6 +33,7 @@ config FTGMAC100 ...@@ -33,6 +33,7 @@ config FTGMAC100
depends on !64BIT || BROKEN depends on !64BIT || BROKEN
select PHYLIB select PHYLIB
select MDIO_ASPEED if MACH_ASPEED_G6 select MDIO_ASPEED if MACH_ASPEED_G6
select CRC32
help help
This driver supports the FTGMAC100 Gigabit Ethernet controller This driver supports the FTGMAC100 Gigabit Ethernet controller
from Faraday. It is used on Faraday A369, Andes AG102 and some from Faraday. It is used on Faraday A369, Andes AG102 and some
......
...@@ -25,6 +25,7 @@ config FEC ...@@ -25,6 +25,7 @@ config FEC
depends on (M523x || M527x || M5272 || M528x || M520x || M532x || \ depends on (M523x || M527x || M5272 || M528x || M520x || M532x || \
ARCH_MXC || SOC_IMX28 || COMPILE_TEST) ARCH_MXC || SOC_IMX28 || COMPILE_TEST)
default ARCH_MXC || SOC_IMX28 if ARM default ARCH_MXC || SOC_IMX28 if ARM
select CRC32
select PHYLIB select PHYLIB
imply PTP_1588_CLOCK imply PTP_1588_CLOCK
help help
......
...@@ -4,6 +4,7 @@ config FSL_FMAN ...@@ -4,6 +4,7 @@ config FSL_FMAN
depends on FSL_SOC || ARCH_LAYERSCAPE || COMPILE_TEST depends on FSL_SOC || ARCH_LAYERSCAPE || COMPILE_TEST
select GENERIC_ALLOCATOR select GENERIC_ALLOCATOR
select PHYLIB select PHYLIB
select CRC32
default n default n
help help
Freescale Data-Path Acceleration Architecture Frame Manager Freescale Data-Path Acceleration Architecture Frame Manager
......
...@@ -198,6 +198,7 @@ config MLX5_EN_TLS ...@@ -198,6 +198,7 @@ config MLX5_EN_TLS
config MLX5_SW_STEERING config MLX5_SW_STEERING
bool "Mellanox Technologies software-managed steering" bool "Mellanox Technologies software-managed steering"
depends on MLX5_CORE_EN && MLX5_ESWITCH depends on MLX5_CORE_EN && MLX5_ESWITCH
select CRC32
default y default y
help help
Build support for software-managed steering in the NIC. Build support for software-managed steering in the NIC.
...@@ -47,6 +47,7 @@ config LAN743X ...@@ -47,6 +47,7 @@ config LAN743X
depends on PCI depends on PCI
select PHYLIB select PHYLIB
select CRC16 select CRC16
select CRC32
help help
Support for the Microchip LAN743x PCI Express Gigabit Ethernet chip Support for the Microchip LAN743x PCI Express Gigabit Ethernet chip
......
...@@ -22,6 +22,7 @@ config NFP ...@@ -22,6 +22,7 @@ config NFP
depends on VXLAN || VXLAN=n depends on VXLAN || VXLAN=n
depends on TLS && TLS_DEVICE || TLS_DEVICE=n depends on TLS && TLS_DEVICE || TLS_DEVICE=n
select NET_DEVLINK select NET_DEVLINK
select CRC32
help help
This driver supports the Netronome(R) NFP4000/NFP6000 based This driver supports the Netronome(R) NFP4000/NFP6000 based
cards working as a advanced Ethernet NIC. It works with both cards working as a advanced Ethernet NIC. It works with both
......
...@@ -3,6 +3,7 @@ config LPC_ENET ...@@ -3,6 +3,7 @@ config LPC_ENET
tristate "NXP ethernet MAC on LPC devices" tristate "NXP ethernet MAC on LPC devices"
depends on ARCH_LPC32XX || COMPILE_TEST depends on ARCH_LPC32XX || COMPILE_TEST
select PHYLIB select PHYLIB
select CRC32
help help
Say Y or M here if you want to use the NXP ethernet MAC included on Say Y or M here if you want to use the NXP ethernet MAC included on
some NXP LPC devices. You can safely enable this option for LPC32xx some NXP LPC devices. You can safely enable this option for LPC32xx
......
...@@ -19,6 +19,7 @@ if NET_VENDOR_ROCKER ...@@ -19,6 +19,7 @@ if NET_VENDOR_ROCKER
config ROCKER config ROCKER
tristate "Rocker switch driver (EXPERIMENTAL)" tristate "Rocker switch driver (EXPERIMENTAL)"
depends on PCI && NET_SWITCHDEV && BRIDGE depends on PCI && NET_SWITCHDEV && BRIDGE
select CRC32
help help
This driver supports Rocker switch device. This driver supports Rocker switch device.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment