mirror of
https://github.com/torvalds/linux.git
synced 2024-12-03 17:41:22 +00:00
f355a55f82
The below compile time error can be seen when PHYLIB is configured as a
module.
ld: drivers/net/pcs/pcs-xpcs.o: in function `xpcs_read':
pcs-xpcs.c:(.text+0x29): undefined reference to `mdiobus_read'
ld: drivers/net/pcs/pcs-xpcs.o: in function `xpcs_soft_reset.constprop.7':
pcs-xpcs.c:(.text+0x80): undefined reference to `mdiobus_write'
ld: drivers/net/pcs/pcs-xpcs.o: in function `xpcs_config_aneg':
pcs-xpcs.c:(.text+0x318): undefined reference to `mdiobus_write'
ld: pcs-xpcs.c:(.text+0x38e): undefined reference to `mdiobus_write'
ld: pcs-xpcs.c:(.text+0x3eb): undefined reference to `mdiobus_write'
ld: pcs-xpcs.c:(.text+0x437): undefined reference to `mdiobus_write'
ld: drivers/net/pcs/pcs-xpcs.o:pcs-xpcs.c:(.text+0xb1e): more undefined references to `mdiobus_write' follow
PHYLIB being a module leads to MDIO_BUS being a module as well while the
XPCS is still built-in. What should happen in this configuration is that
PCS_XPCS should be forced to build as module. However, that select only
acts in the opposite way so we should turn it into a depends.
Fix this up by explicitly depending on MDIO_BUS.
Reported-by: Randy Dunlap <rdunlap@infradead.org>
Acked-by: Randy Dunlap <rdunlap@infradead.org> # build-tested
Fixes: 2fa4e4b799
("net: pcs: Move XPCS into new PCS subdirectory")
Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
22 lines
463 B
Plaintext
22 lines
463 B
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
#
|
|
# PCS Layer Configuration
|
|
#
|
|
|
|
menu "PCS device drivers"
|
|
|
|
config PCS_XPCS
|
|
tristate "Synopsys DesignWare XPCS controller"
|
|
depends on MDIO_DEVICE && MDIO_BUS
|
|
help
|
|
This module provides helper functions for Synopsys DesignWare XPCS
|
|
controllers.
|
|
|
|
config PCS_LYNX
|
|
tristate
|
|
help
|
|
This module provides helpers to phylink for managing the Lynx PCS
|
|
which is part of the Layerscape and QorIQ Ethernet SERDES.
|
|
|
|
endmenu
|