aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/e1000e/e1000.h
diff options
context:
space:
mode:
authorBruce Allan <bruce.w.allan@intel.com>2010-01-12 21:04:58 -0500
committerDavid S. Miller <davem@davemloft.net>2010-01-13 23:31:56 -0500
commit608f8a0d014db6cd18d4f535934d4b5d556e3013 (patch)
tree1f3ace492bc08165c81ef7bc06ec7f5222ab1d2d /drivers/net/e1000e/e1000.h
parent0159f24ee764927bf44c1a25473bd4517febd21c (diff)
e1000e: use alternate MAC address on ESB2 if available
Similar to 82571/2/3 parts that already do this, if ESB2/80003es2lan parts have an alternate MAC address provided in the EEPROM use it instead of the default MAC address. This patch makes the the actual code that does this generic so that it can be better used by both MAC families. Signed-off-by: Bruce Allan <bruce.w.allan@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/e1000e/e1000.h')
-rw-r--r--drivers/net/e1000e/e1000.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/net/e1000e/e1000.h b/drivers/net/e1000e/e1000.h
index cebbd9079d53..7c91e4bdd361 100644
--- a/drivers/net/e1000e/e1000.h
+++ b/drivers/net/e1000e/e1000.h
@@ -529,6 +529,7 @@ extern s32 e1000e_config_fc_after_link_up(struct e1000_hw *hw);
529extern s32 e1000e_force_mac_fc(struct e1000_hw *hw); 529extern s32 e1000e_force_mac_fc(struct e1000_hw *hw);
530extern s32 e1000e_blink_led(struct e1000_hw *hw); 530extern s32 e1000e_blink_led(struct e1000_hw *hw);
531extern void e1000_write_vfta_generic(struct e1000_hw *hw, u32 offset, u32 value); 531extern void e1000_write_vfta_generic(struct e1000_hw *hw, u32 offset, u32 value);
532extern s32 e1000_check_alt_mac_addr_generic(struct e1000_hw *hw);
532extern void e1000e_reset_adaptive(struct e1000_hw *hw); 533extern void e1000e_reset_adaptive(struct e1000_hw *hw);
533extern void e1000e_update_adaptive(struct e1000_hw *hw); 534extern void e1000e_update_adaptive(struct e1000_hw *hw);
534 535
@@ -629,7 +630,15 @@ extern s32 e1000e_read_nvm_eerd(struct e1000_hw *hw, u16 offset, u16 words, u16
629extern s32 e1000e_validate_nvm_checksum_generic(struct e1000_hw *hw); 630extern s32 e1000e_validate_nvm_checksum_generic(struct e1000_hw *hw);
630extern void e1000e_release_nvm(struct e1000_hw *hw); 631extern void e1000e_release_nvm(struct e1000_hw *hw);
631extern void e1000e_reload_nvm(struct e1000_hw *hw); 632extern void e1000e_reload_nvm(struct e1000_hw *hw);
632extern s32 e1000e_read_mac_addr(struct e1000_hw *hw); 633extern s32 e1000_read_mac_addr_generic(struct e1000_hw *hw);
634
635static inline s32 e1000e_read_mac_addr(struct e1000_hw *hw)
636{
637 if (hw->mac.ops.read_mac_addr)
638 return hw->mac.ops.read_mac_addr(hw);
639
640 return e1000_read_mac_addr_generic(hw);
641}
633 642
634static inline s32 e1000_validate_nvm_checksum(struct e1000_hw *hw) 643static inline s32 e1000_validate_nvm_checksum(struct e1000_hw *hw)
635{ 644{