diff options
author | Mursalin Akon <makon@nvidia.com> | 2013-04-11 10:28:07 -0700 |
---|---|---|
committer | Riham Haidar <rhaidar@nvidia.com> | 2013-04-18 12:49:06 -0700 |
commit | f7a5ab6dc1b7da3e3da10cb88478e5fa4a7c92b9 (patch) | |
tree | 08abe17507808de17660c4f1d43565812c37e841 /drivers/net/ethernet | |
parent | 27de3300ca5ac6675df48fef684c259bcf75b386 (diff) |
Make firmware loading of R8169 optional
According to Realtek, the firmware provides
power optimizations. The driver works without
the firmware. Plus, there are scenarios where
the firmware is not available, which makes the
driver wait at request_firmware call (i.e.,
60 sec wait).
Bug 1236060
Change-Id: Ifad95b9eb9e161c77171df3e65351aff80e4a4ad
Signed-off-by: Mursalin Akon <makon@nvidia.com>
Reviewed-on: http://git-master/r/218609
Reviewed-by: Eric Brower <ebrower@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Allen Martin <amartin@nvidia.com>
Diffstat (limited to 'drivers/net/ethernet')
-rw-r--r-- | drivers/net/ethernet/realtek/Kconfig | 12 | ||||
-rw-r--r-- | drivers/net/ethernet/realtek/r8169.c | 4 |
2 files changed, 15 insertions, 1 deletions
diff --git a/drivers/net/ethernet/realtek/Kconfig b/drivers/net/ethernet/realtek/Kconfig index 5821966f9f28..95af7d23a9c7 100644 --- a/drivers/net/ethernet/realtek/Kconfig +++ b/drivers/net/ethernet/realtek/Kconfig @@ -105,7 +105,6 @@ config 8139_OLD_RX_RESET config R8169 tristate "Realtek 8169 gigabit ethernet support" depends on PCI - select FW_LOADER select CRC32 select NET_CORE select MII @@ -115,4 +114,15 @@ config R8169 To compile this driver as a module, choose M here: the module will be called r8169. This is recommended. +config R8169_FW_LOAD + bool "Load firmware for Realtek 8169" + depends on R8169 + select FW_LOADER + default y + ---help--- + This enables runtime loading of optional firmware by the Realtek 8169 + driver. Some environments do not require firmware, or prefer not to delay + the boot process when firmware is not available. Say N here to disable + firmware loading. If unsure, say Y. + endif # NET_VENDOR_REALTEK diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c index 58d039cb5267..7bcd48163f92 100644 --- a/drivers/net/ethernet/realtek/r8169.c +++ b/drivers/net/ethernet/realtek/r8169.c @@ -1460,7 +1460,11 @@ static int rtl8169_set_wol(struct net_device *dev, struct ethtool_wolinfo *wol) static const char *rtl_lookup_firmware_name(struct rtl8169_private *tp) { +#ifdef CONFIG_R8169_FW_LOAD return rtl_chip_infos[tp->mac_version].fw_name; +#else + return NULL; +#endif } static void rtl8169_get_drvinfo(struct net_device *dev, |