aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/Kconfig12
-rw-r--r--drivers/net/smsc911x.c3
-rw-r--r--drivers/net/smsc911x.h11
3 files changed, 23 insertions, 3 deletions
diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
index 86fe67fd49ba..9334539ebf75 100644
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
@@ -1041,7 +1041,7 @@ config SMC911X
1041 tristate "SMSC LAN911[5678] support" 1041 tristate "SMSC LAN911[5678] support"
1042 select CRC32 1042 select CRC32
1043 select MII 1043 select MII
1044 depends on ARM || SUPERH 1044 depends on ARM || SUPERH || MN10300
1045 help 1045 help
1046 This is a driver for SMSC's LAN911x series of Ethernet chipsets 1046 This is a driver for SMSC's LAN911x series of Ethernet chipsets
1047 including the new LAN9115, LAN9116, LAN9117, and LAN9118. 1047 including the new LAN9115, LAN9116, LAN9117, and LAN9118.
@@ -1055,7 +1055,7 @@ config SMC911X
1055 1055
1056config SMSC911X 1056config SMSC911X
1057 tristate "SMSC LAN911x/LAN921x families embedded ethernet support" 1057 tristate "SMSC LAN911x/LAN921x families embedded ethernet support"
1058 depends on ARM || SUPERH || BLACKFIN || MIPS 1058 depends on ARM || SUPERH || BLACKFIN || MIPS || MN10300
1059 select CRC32 1059 select CRC32
1060 select MII 1060 select MII
1061 select PHYLIB 1061 select PHYLIB
@@ -1067,6 +1067,14 @@ config SMSC911X
1067 <file:Documentation/networking/net-modules.txt>. The module 1067 <file:Documentation/networking/net-modules.txt>. The module
1068 will be called smsc911x. 1068 will be called smsc911x.
1069 1069
1070config SMSC911X_ARCH_HOOKS
1071 def_bool n
1072 depends on SMSC911X
1073 help
1074 If the arch enables this, it allows the arch to implement various
1075 hooks for more comprehensive interrupt control and also to override
1076 the source of the MAC address.
1077
1070config NET_VENDOR_RACAL 1078config NET_VENDOR_RACAL
1071 bool "Racal-Interlan (Micom) NI cards" 1079 bool "Racal-Interlan (Micom) NI cards"
1072 depends on ISA 1080 depends on ISA
diff --git a/drivers/net/smsc911x.c b/drivers/net/smsc911x.c
index a8e5856ce882..64bfdae5956f 100644
--- a/drivers/net/smsc911x.c
+++ b/drivers/net/smsc911x.c
@@ -2075,7 +2075,7 @@ static int __devinit smsc911x_drv_probe(struct platform_device *pdev)
2075 } else { 2075 } else {
2076 /* Try reading mac address from device. if EEPROM is present 2076 /* Try reading mac address from device. if EEPROM is present
2077 * it will already have been set */ 2077 * it will already have been set */
2078 smsc911x_read_mac_address(dev); 2078 smsc_get_mac(dev);
2079 2079
2080 if (is_valid_ether_addr(dev->dev_addr)) { 2080 if (is_valid_ether_addr(dev->dev_addr)) {
2081 /* eeprom values are valid so use them */ 2081 /* eeprom values are valid so use them */
@@ -2176,6 +2176,7 @@ static struct platform_driver smsc911x_driver = {
2176/* Entry point for loading the module */ 2176/* Entry point for loading the module */
2177static int __init smsc911x_init_module(void) 2177static int __init smsc911x_init_module(void)
2178{ 2178{
2179 SMSC_INITIALIZE();
2179 return platform_driver_register(&smsc911x_driver); 2180 return platform_driver_register(&smsc911x_driver);
2180} 2181}
2181 2182
diff --git a/drivers/net/smsc911x.h b/drivers/net/smsc911x.h
index 016360c65ce2..52f38e12a879 100644
--- a/drivers/net/smsc911x.h
+++ b/drivers/net/smsc911x.h
@@ -394,4 +394,15 @@
394#define LPA_PAUSE_ALL (LPA_PAUSE_CAP | \ 394#define LPA_PAUSE_ALL (LPA_PAUSE_CAP | \
395 LPA_PAUSE_ASYM) 395 LPA_PAUSE_ASYM)
396 396
397/*
398 * Provide hooks to let the arch add to the initialisation procedure
399 * and to override the source of the MAC address.
400 */
401#define SMSC_INITIALIZE() do {} while (0)
402#define smsc_get_mac(dev) smsc911x_read_mac_address((dev))
403
404#ifdef CONFIG_SMSC911X_ARCH_HOOKS
405#include <asm/smsc911x.h>
406#endif
407
397#endif /* __SMSC911X_H__ */ 408#endif /* __SMSC911X_H__ */