#ifndef _IGC_HW_H_
#define _IGC_HW_H_
#include <linux/types.h>
#include <linux/if_ether.h>
#include <linux/netdevice.h>
#include "igc_regs.h"
#include "igc_defines.h"
#include "igc_mac.h"
#include "igc_phy.h"
#include "igc_nvm.h"
#include "igc_i225.h"
#include "igc_base.h"
#define IGC_DEV_ID_I225_LM …
#define IGC_DEV_ID_I225_V …
#define IGC_DEV_ID_I225_I …
#define IGC_DEV_ID_I220_V …
#define IGC_DEV_ID_I225_K …
#define IGC_DEV_ID_I225_K2 …
#define IGC_DEV_ID_I226_K …
#define IGC_DEV_ID_I225_LMVP …
#define IGC_DEV_ID_I226_LMVP …
#define IGC_DEV_ID_I225_IT …
#define IGC_DEV_ID_I226_LM …
#define IGC_DEV_ID_I226_V …
#define IGC_DEV_ID_I226_IT …
#define IGC_DEV_ID_I221_V …
#define IGC_DEV_ID_I226_BLANK_NVM …
#define IGC_DEV_ID_I225_BLANK_NVM …
struct igc_mac_operations { … };
enum igc_mac_type { … };
enum igc_media_type { … };
enum igc_nvm_type { … };
struct igc_info { … };
extern const struct igc_info igc_base_info;
struct igc_mac_info { … };
struct igc_nvm_operations { … };
struct igc_phy_operations { … };
struct igc_nvm_info { … };
struct igc_phy_info { … };
struct igc_bus_info { … };
enum igc_fc_mode { … };
struct igc_fc_info { … };
struct igc_dev_spec_base { … };
struct igc_hw { … };
struct igc_hw_stats { … };
struct net_device *igc_get_hw_dev(struct igc_hw *hw);
#define hw_dbg(format, arg...) …
s32 igc_read_pcie_cap_reg(struct igc_hw *hw, u32 reg, u16 *value);
s32 igc_write_pcie_cap_reg(struct igc_hw *hw, u32 reg, u16 *value);
void igc_read_pci_cfg(struct igc_hw *hw, u32 reg, u16 *value);
void igc_write_pci_cfg(struct igc_hw *hw, u32 reg, u16 *value);
#endif