mirror of
https://github.com/torvalds/linux.git
synced 2026-04-20 07:43:57 -04:00
When r8169 is built-in but LED support is a loadable module, the new
code to drive the LED causes a link failure:
ld: drivers/net/ethernet/realtek/r8169_leds.o: in function `rtl8168_init_leds':
r8169_leds.c:(.text+0x36c): undefined reference to `devm_led_classdev_register_ext'
LED support is an optional feature, so fix this issue by adding a Kconfig
symbol R8169_LEDS that is guaranteed to be false if r8169 is built-in
and LED core support is a module. As a positive side effect of this change
r8169_leds.o no longer is built under this configuration.
Fixes: 18764b883e ("r8169: add support for LED's on RTL8168/RTL8101")
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202312281159.9TPeXbNd-lkp@intel.com/
Suggested-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Tested-by: Simon Horman <horms@kernel.org> # build-tested
Tested-by: Arnd Bergmann <arnd@arndb.de>
Link: https://lore.kernel.org/r/d055aeb5-fe5c-4ccf-987f-5af93a17537b@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
124 lines
4.0 KiB
Plaintext
124 lines
4.0 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
#
|
|
# Realtek device configuration
|
|
#
|
|
|
|
config NET_VENDOR_REALTEK
|
|
bool "Realtek devices"
|
|
default y
|
|
depends on PCI || (PARPORT && X86)
|
|
help
|
|
If you have a network (Ethernet) card belonging to this class, say Y.
|
|
|
|
Note that the answer to this question doesn't directly affect the
|
|
kernel: saying N will just cause the configurator to skip all
|
|
the questions about Realtek devices. If you say Y, you will be asked for
|
|
your specific card in the following questions.
|
|
|
|
if NET_VENDOR_REALTEK
|
|
|
|
config ATP
|
|
tristate "AT-LAN-TEC/RealTek pocket adapter support"
|
|
depends on PARPORT && X86
|
|
select CRC32
|
|
help
|
|
This is a network (Ethernet) device which attaches to your parallel
|
|
port. Read the file <file:drivers/net/ethernet/realtek/atp.c>
|
|
if you want to use this. If you intend to use this driver, you
|
|
should have said N to the "Parallel printer support", because the two
|
|
drivers don't like each other.
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called atp.
|
|
|
|
config 8139CP
|
|
tristate "RealTek RTL-8139 C+ PCI Fast Ethernet Adapter support"
|
|
depends on PCI
|
|
select CRC32
|
|
select MII
|
|
help
|
|
This is a driver for the Fast Ethernet PCI network cards based on
|
|
the RTL8139C+ chips. If you have one of those, say Y here.
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called 8139cp. This is recommended.
|
|
|
|
config 8139TOO
|
|
tristate "RealTek RTL-8129/8130/8139 PCI Fast Ethernet Adapter support"
|
|
depends on PCI
|
|
select CRC32
|
|
select MII
|
|
help
|
|
This is a driver for the Fast Ethernet PCI network cards based on
|
|
the RTL 8129/8130/8139 chips. If you have one of those, say Y here.
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called 8139too. This is recommended.
|
|
|
|
config 8139TOO_PIO
|
|
bool "Use PIO instead of MMIO"
|
|
default y
|
|
depends on 8139TOO
|
|
help
|
|
This instructs the driver to use programmed I/O ports (PIO) instead
|
|
of PCI shared memory (MMIO). This can possibly solve some problems
|
|
in case your mainboard has memory consistency issues. If unsure,
|
|
say N.
|
|
|
|
config 8139TOO_TUNE_TWISTER
|
|
bool "Support for uncommon RTL-8139 rev. K (automatic channel equalization)"
|
|
depends on 8139TOO
|
|
help
|
|
This implements a function which might come in handy in case you
|
|
are using low quality on long cabling. It is required for RealTek
|
|
RTL-8139 revision K boards, and totally unused otherwise. It tries
|
|
to match the transceiver to the cable characteristics. This is
|
|
experimental since hardly documented by the manufacturer.
|
|
If unsure, say Y.
|
|
|
|
config 8139TOO_8129
|
|
bool "Support for older RTL-8129/8130 boards"
|
|
depends on 8139TOO
|
|
help
|
|
This enables support for the older and uncommon RTL-8129 and
|
|
RTL-8130 chips, which support MII via an external transceiver,
|
|
instead of an internal one. Disabling this option will save some
|
|
memory by making the code size smaller. If unsure, say Y.
|
|
|
|
config 8139_OLD_RX_RESET
|
|
bool "Use older RX-reset method"
|
|
depends on 8139TOO
|
|
help
|
|
The 8139too driver was recently updated to contain a more rapid
|
|
reset sequence, in the face of severe receive errors. This "new"
|
|
RX-reset method should be adequate for all boards. But if you
|
|
experience problems, you can enable this option to restore the
|
|
old RX-reset behavior. If unsure, say N.
|
|
|
|
config R8169
|
|
tristate "Realtek 8169/8168/8101/8125 ethernet support"
|
|
depends on PCI
|
|
select FW_LOADER
|
|
select CRC32
|
|
select PHYLIB
|
|
select REALTEK_PHY
|
|
help
|
|
Say Y here if you have a Realtek Ethernet adapter belonging to
|
|
the following families:
|
|
RTL8169 Gigabit Ethernet
|
|
RTL8168 Gigabit Ethernet
|
|
RTL8101 Fast Ethernet
|
|
RTL8125 2.5GBit Ethernet
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called r8169. This is recommended.
|
|
|
|
config R8169_LEDS
|
|
def_bool R8169 && LEDS_TRIGGER_NETDEV
|
|
depends on !(R8169=y && LEDS_CLASS=m)
|
|
help
|
|
Optional support for controlling the NIC LED's with the netdev
|
|
LED trigger.
|
|
|
|
endif # NET_VENDOR_REALTEK
|