diff options
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/Kconfig | 12 | ||||
-rw-r--r-- | drivers/net/smsc911x.c | 3 | ||||
-rw-r--r-- | drivers/net/smsc911x.h | 11 |
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 | ||
1056 | config SMSC911X | 1056 | config 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 | ||
1070 | config 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 | |||
1070 | config NET_VENDOR_RACAL | 1078 | config 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 */ |
2177 | static int __init smsc911x_init_module(void) | 2177 | static 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__ */ |