.acquire                = e1000_acquire_nvm_80003es2lan,
        .read                   = e1000e_read_nvm_eerd,
        .release                = e1000_release_nvm_80003es2lan,
+       .reload                 = e1000e_reload_nvm_generic,
        .update                 = e1000e_update_nvm_checksum_generic,
        .valid_led_default      = e1000e_valid_led_default,
        .validate               = e1000e_validate_nvm_checksum_generic,
 
        .acquire                = e1000_acquire_nvm_82571,
        .read                   = e1000e_read_nvm_eerd,
        .release                = e1000_release_nvm_82571,
+       .reload                 = e1000e_reload_nvm_generic,
        .update                 = e1000_update_nvm_checksum_82571,
        .valid_led_default      = e1000_valid_led_default_82571,
        .validate               = e1000_validate_nvm_checksum_82571,
 
 extern s32 e1000e_read_nvm_eerd(struct e1000_hw *hw, u16 offset, u16 words, u16 *data);
 extern s32 e1000e_validate_nvm_checksum_generic(struct e1000_hw *hw);
 extern void e1000e_release_nvm(struct e1000_hw *hw);
-extern void e1000e_reload_nvm(struct e1000_hw *hw);
+extern void e1000e_reload_nvm_generic(struct e1000_hw *hw);
 extern s32 e1000_read_mac_addr_generic(struct e1000_hw *hw);
 
 static inline s32 e1000e_read_mac_addr(struct e1000_hw *hw)
 
        s32  (*acquire)(struct e1000_hw *);
        s32  (*read)(struct e1000_hw *, u16, u16, u16 *);
        void (*release)(struct e1000_hw *);
+       void (*reload)(struct e1000_hw *);
        s32  (*update)(struct e1000_hw *);
        s32  (*valid_led_default)(struct e1000_hw *, u16 *);
        s32  (*validate)(struct e1000_hw *);
 
         * until after the next adapter reset.
         */
        if (!ret_val) {
-               e1000e_reload_nvm(hw);
+               nvm->ops.reload(hw);
                usleep_range(10000, 20000);
        }
 
        .acquire                = e1000_acquire_nvm_ich8lan,
        .read                   = e1000_read_nvm_ich8lan,
        .release                = e1000_release_nvm_ich8lan,
+       .reload                 = e1000e_reload_nvm_generic,
        .update                 = e1000_update_nvm_checksum_ich8lan,
        .valid_led_default      = e1000_valid_led_default_ich8lan,
        .validate               = e1000_validate_nvm_checksum_ich8lan,
 
 }
 
 /**
- *  e1000e_reload_nvm - Reloads EEPROM
+ *  e1000e_reload_nvm_generic - Reloads EEPROM
  *  @hw: pointer to the HW structure
  *
  *  Reloads the EEPROM by setting the "Reinitialize from EEPROM" bit in the
  *  extended control register.
  **/
-void e1000e_reload_nvm(struct e1000_hw *hw)
+void e1000e_reload_nvm_generic(struct e1000_hw *hw)
 {
        u32 ctrl_ext;