/* Reads the product board assembly (PBA) number from the EEPROM and stores the value in part_num.  */
s32 igb_read_part_num(struct e1000_hw *hw, u32 *part_num)
/* Reads the product board assembly (PBA) number from the EEPROM and stores the value in part_num.  */
s32 igb_read_part_num(struct e1000_hw *hw, u32 *part_num)
{
	s32  ret_val;
	u16 nvm_data;
	ret_val = hw->nvm.ops.read(hw, NVM_PBA_OFFSET_0, 1, &nvm_data);
	if (ret_val) {
		hw_dbg("NVM Read Error\n");
		goto out;
	}
	*part_num = (u32)(nvm_data << 16);
	ret_val = hw->nvm.ops.read(hw, NVM_PBA_OFFSET_1, 1, &nvm_data);
	if (ret_val) {
		hw_dbg("NVM Read Error\n");
		goto out;
	}
	*part_num |= nvm_data;
out:
	return ret_val;
}