An object file cannot be built for both loadable module and built-in use at the same time: arm-linux-gnueabi-ld: drivers/net/ethernet/micrel/ks8851_common.o: in function `ks8851_probe_common': ks8851_common.c:(.text+0xf80): undefined reference to `__this_module' Change the ks8851_common code to be a standalone module instead, and use Makefile logic to ensure this is built-in if at least one of its two users is. Fixes: 797047f875b5 ("net: ks8851: Implement Parallel bus operations") Link: https://lore.kernel.org/netdev/20210125121937.3900988-1-arnd@kernel.org/ Reviewed-by: Andrew Lunn <andrew@lunn.ch> Acked-by: Marek Vasut <marex@denx.de> Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: David S. Miller <davem@davemloft.net>
10 lines
272 B
Makefile
10 lines
272 B
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
#
|
|
# Makefile for the Micrel network device drivers.
|
|
#
|
|
|
|
obj-$(CONFIG_KS8842) += ks8842.o
|
|
obj-$(CONFIG_KS8851) += ks8851_common.o ks8851_spi.o
|
|
obj-$(CONFIG_KS8851_MLL) += ks8851_common.o ks8851_par.o
|
|
obj-$(CONFIG_KSZ884X_PCI) += ksz884x.o
|